Выполнить строку кода n раз без инициализации переменной - PullRequest
0 голосов
/ 25 ноября 2018

Я новичок в Свифте.Я хочу добавить 100 случайных чисел в массив.У меня есть следующий рабочий код:

var integers = [Int]()

for i in 1...100 {
  integers.append((Int.random(in: 0 ..< 100)))
}

Компилятор предупреждает меня, что я не использовал i внутри области действия цикла for, что действительно является разумным предупреждением.Есть ли способ сделать несколько строк n раз без объявления переменной, которую я все равно не буду использовать?

Ответы [ 3 ]

0 голосов
/ 25 ноября 2018

Замените i на _.

_ - это просто способ сказать, что вам здесь не нужна переменная.Он известен как «шаблон подстановочного знака» в документации swift :

Шаблон подстановочного знака соответствует и игнорирует любое значение и состоит из подчеркивания (_).Используйте шаблон с подстановочными знаками, когда вас не интересуют сопоставляемые значения.Например, следующий код перебирает закрытый диапазон 1 ... 3, игнорируя текущее значение диапазона на каждой итерации цикла:

for _ in 1...3 {
    // Do something three times. 
}
0 голосов
/ 25 ноября 2018

Вы можете сделать это так:

let integers = (1...100).map { _ in Int.random(in: 0..<100) }
0 голосов
/ 25 ноября 2018

Измените i на _.Использование подчеркивания - это способ сообщить компилятору Swift, что вы не заботитесь о переменной или возвращаемом значении.

Это можно найти в книге Swift в главе «Поток управления» в разделе Для-В петлях .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...