cómo convertir Range a Array
Lo intenté:
let min = 50
let max = 100
let intArray:[Int] = (min...max)
obtener error Range<Int> is not convertible to [Int]
También probé:
let intArray:[Int] = [min...max]
y
let intArray:[Int] = (min...max) as [Int]
ellos tampoco funcionan.
Ponga el rango en init.
fuente
Me lo imaginé:
Dar crédito a otra persona.
fuente
hacer:
Esto debería funcionar porque
Array
tiene un inicializador que toma unSequenceType
y seRange
ajusta aSequenceType
.fuente
Utilizar
map
fuente
Es interesante que no pueda (al menos, con Swift 3 y Xcode 8) usar el
Range<Int>
objeto directamente:Por lo tanto, como se mencionó anteriormente, debe "desenvolver" manualmente su rango como:
Es decir, solo puede usar literal.
fuente
range()
.Desde Swift 3 / Xcode 8 hay un
CountableRange
tipo que puede ser útil:Se puede utilizar directamente en
for
-in
bucles:fuente
Puede implementar intervalos de instancia ClosedRange & Range con reduce () en funciones como esta.
fuente