2016-01-02 20 views
30

Ben hiçbir zaman bu Swift tekrarlanan değerlerle bir dizi oluşturabilir biliyoruz:Swift'de artırılmış değerler içeren bir dizi nasıl oluşturulur?

var myArray = [Int](count: 5, repeatedValue: 0) 

Ama bir döngü yapmak yerine bu tür diğer [0, 1, 2, 3, 4] olarak artan değerler içeren bir dizi oluşturmak için bir yol var gibi

var myArray = [Int]() 
for i in 0 ... 4 { 
    myArray.append(i) 
} 

Bu kodun oldukça basit, okunabilir ve kurşun geçirmez olduğunu biliyorum, ancak hissediyor gibi bir işlevi, artırılan değerleri sağlamak için oluşturulduğu şekilde bir şekilde bir şekilde geçirebilmem gerekir. Okunabilirlikte veya hesaplanabilirlikte daha etkili maliyete değmeyebilir, ama yine de merak ediyorum.

+0

@vacawama akıl öyleydi Gönderinin başlığında "dolu", dizinin içeriğinin bazı yinelenen işlevler olduğunu bana önermedi. Belki de sadece kendi hayal gücüm yok. Kesinlikle cevap aynı. Soruyu cevaplayanlara minnettarım, daha önce sorduğum gibi. – Dribbler

+1

Bulmanın zor olabileceğini görebiliyorum. Gelecekte daha kolay bulunmasını sağlamak için "bir aralık" eklemek için yinelenen başlığın adını güncelledim. – vacawama

+2

http://stackoverflow.com/a/33245447/2303865 –

cevap

62

size kolayca bir "normal" Array dönüşebilir bir Range, alır ... notasyonu

let arr1 = 0...4 

kullanın: Kaçırdığım

let arr2 = Array(0...4) 
+0

Aman Tanrım, sezgisel :) Çok teşekkür ederim @ luk2302! – Dribbler

+1

@LeoDabus Bunun için çok fazla thaaat alamadım - nasıl soruları ikiye katlıyorsunuz, soruları cevaplamadan önce her zaman dups araması yapıyorsunuz - bunu bilmek merak ediyorum - bunun için bu rep'e sahip değilim henüz uzun. Ve bunun tamamen abartıldığına katılıyorum. – luk2302

+2

Ben cevap verdiğim her soru için bir çoğaltma aramıyorum itiraf edeceğiz. MartinR gibi daha deneyimli SO kullanıcıları tarafından çift olarak işaretlenmiş soruları yanıtladım. Çiftleri aradığım birkaç soru kategorisi var: 1) Biliyorum daha önce sorduğumu gördüm, 2) Bunu daha önce de cevapladığımı biliyorum, 3) bu çok basit bir şekilde sorulmuş ve cevaplanmış olmalı önce. – vacawama

İlgili konular