arrays - create - swift 4 range




Existe uma maneira de gerar instantaneamente uma matriz preenchida com um intervalo de valores no Swift? (3)

Você pode criar um intervalo e mapeá-lo em uma matriz:

var array = (0...30).map { $0 }

O fechamento do map simplesmente retorna o elemento range, resultando em uma matriz cujos elementos são todos os números inteiros incluídos no intervalo. Obviamente, é possível gerar diferentes elementos e tipos, como:

var array = (0...30).map { "Index\($0)" }

que gera uma matriz de seqüências de caracteres Index0 , Index0 , etc.

Por exemplo, em python, eu poderia dizer algo ao longo das linhas de

arr = range(0,30) 

e obtenha uma matriz com os referidos elementos. Suspeito que algo semelhante possa ser possível com um subscrito no Swift, mas depois de vasculhar a documentação e o iBook da Apple, não consigo encontrar uma solução "incluída nas baterias" para gerar o referido array.

Isso é algo para o qual eu teria que escrever o código manualmente ou existe um método pré-escrito para isso?


Você pode criar uma matriz com um intervalo como este:

var values = Array(0...100)

Isso fornece uma matriz de [0, ..., 100]


crie uma matriz Int de 0 a N-1

var arr = [Int](0..<N)

crie uma matriz flutuante de 0 a N-1

var arr = (0..<N).map{ Float($0) }

crie uma matriz de flutuação de 0 a 2π incluindo 2π etapa 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))




range