Ответ 1
Вы можете создать массив с таким диапазоном:
var values = Array(0...100)
Это даст вам массив [0, ..., 100]
Например, в python я мог бы что-то сказать по строкам
arr = range(0,30)
и получить массив с указанными элементами. Я подозреваю, что что-то подобное возможно с индексом в Swift, но после очистки документации и Apple iBook я не могу найти решение "с батарейками" для создания указанного массива.
Это что-то, что я должен был бы написать для кода вручную, или есть ли для него предварительно написанный метод?
Вы можете создать массив с таким диапазоном:
var values = Array(0...100)
Это даст вам массив [0, ..., 100]
Вы можете создать диапазон и преобразовать его в массив:
var array = (0...30).map { $0 }
Закрытие map
просто возвращает элемент диапазона, в результате чего массив, элементы которого являются целыми числами, включенными в диапазон. Конечно, возможно генерировать разные элементы и типы, например:
var array = (0...30).map { "Index\($0)" }
который генерирует массив строк Index0
, Index1
и т.д.
Вы можете использовать это для создания массива, содержащего такое же значение
let array = Array(count: 5, repeatedValue: 10)
Или, если вы хотите создать массив из диапазона, вы можете сделать это следующим образом:
let array = [Int](1...10)
В этом случае вы получите массив, содержащий значения Int от 1 до 10
создать массив Int от 0 до N-1
var arr = [Int](0..<N)
создать массив Float от 0 до N-1
var arr = (0..<N).map{ Float($0) }
создать массив с плавающей точкой от 0 до 2π, включая шаг 2π 0,1
var arr:[Float] = stride(from: 0.0, to: .pi * 2 + 0.1, by: 0.1).map{$0}
or
var arr:[Float] = Array(stride(from: 0.0, to: .pi * 2 + 0.1, by: 0.1))