2016-06-21 7 views
-1

Ниже приведен мой код в редакторе для hackerrank. Я получаю индекс абсолютной ошибки вне диапазона в языке swift. У меня есть аналогичный код на моей игровой площадке, но вместо того, чтобы читать readLine im, просто получая случайное число, чтобы заполнить мой 2D-массив. Это работает на моей детской площадкефатальная ошибка: индекс за пределами диапазона (быстрый)

// hackerrank https://ghostbin.com/paste/jtc5k

// Xcode, где он работает https://ghostbin.com/paste/xqqh4

+0

Просто следуйте информации отладки, вы будете знать, какой индекс и какой массив имеет проблему – FredericP

+1

Вопросы ищут отладки помощи («почему этот код не работает?») должен включать в себя желаемое поведение, конкретную проблему или ошибку и кратчайший код, необходимый для его воспроизведения ** в самом вопросе **. –

ответ

0

Вы не можете использовать ReadLine() в playground файл. See this

Значит, ваша строка: if let input = readLine(),value = Int(input) не выполняется, поэтому ваше второе измерение массива не заполняется.

Вы можете изменить свой код, чтобы быть выглядеть, чтобы увидеть разницу:

if let input = readLine(),value = Int(input) 
{ 
    array[row].append(value) 
} else { 
    array[row].append(Int(arc4random_uniform(2))) 
} 
+0

благодарю вас за помощь. Прочитайте свой комментарий и выясните. – joeyFlash

Смежные вопросы