Par exemple, en python, je pourrais dire quelque chose dans le sens de
arr = range(0,30)
et obtenir un tableau avec lesdits éléments. Je pense que quelque chose de similaire pourrait être possible avec un indice dans Swift, mais après avoir parcouru la documentation et l'iBook d'Apple, je ne trouve pas de solution "piles incluses" pour générer ledit ensemble.
Est-ce quelque chose que je devrais écrire manuellement le code, ou existe-t-il une méthode pré-écrite pour cela?
Vous pouvez créer un tableau avec une plage comme celle-ci:
var values = Array(0...100)
Cela vous donne un tableau de [0, ..., 100]
Vous pouvez créer une plage et la mapper dans un tableau:
var array = (0...30).map { $0 }
La fermeture map
renvoie simplement l'élément range, ce qui donne un tableau dont tous les éléments sont des entiers inclus dans l'intervalle. Bien sûr, il est possible de générer différents éléments et types, tels que:
var array = (0...30).map { "Index\($0)" }
qui génère un tableau de chaînes Index0
, Index1
, etc.
Vous pouvez l'utiliser pour créer un tableau contenant la même valeur
let array = Array(count: 5, repeatedValue: 10)
Ou si vous voulez créer un tableau de la gamme, vous pouvez le faire comme ceci
let array = [Int](1...10)
Dans ce cas, vous obtiendrez un tableau contenant les valeurs Int de 1 à 10
créer un tableau Int de 0 à N-1
var arr = [Int](0..<N)
créer un tableau Float de 0 à N-1
var arr = (0..<N).map{ Float($0) }
créer un tableau float de 0 à 2π incluant 2π étape 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))