2016-08-24 3 views
3

私は1-100要素からの作成を試みましたが、私はそれを印刷しようとしている間、配列内の値を印刷しません。配列の開始と終了のインデックスを迅速に設定する方法は?

コード:

var ab:Array = [1...100] 

for i in ab { 
    print(i) 
} 

出力:enter image description here

しかし、遊び場で、それはすべてのエラーを示しませんでした 。 私は何か間違っていましたか? あなたがRange<Int>要素(単一のもの、1..<101)の配列を作成おかげ

+1

オプションクリックし、作成した値の種類を確認するために、 'ab'に... –

答えて

7

var ab: Array = [1...100] // element TYPE inferred from 1...100 
          // to be Range<Int> 
print(ab.dynamicType) 
    // Array<Range<Int>> 

しかし、私は、あなたが100個のInt要素の配列を作成しようとしていると仮定します。

var ab = Array(1...100) // Array with elements intialized to Int, 
         // using Range<Int> to intialize 

for i in ab { 
    print(i) 
} // 1 2 3 ... 100 

あなたが唯一の範囲1...100で番号を印刷するために探している場合は、整数がそうする場合は、配列を作成します(またはすべての配列)必ずしも必要はありません。代わりに、単一のRange<Int>変数を使用し、この範囲に含まれる要素をループすることができます。例えば。

let myRange = 1...5 // inferred as type Range<Int> 

for i in myRange { 
    print(i) // the type of 'i' is Int, the same as in 
      // the array case above. 
} // 1 2 3 4 5 
0

使用cleareffective

var ab = Array(1...100) 
for i in ab { 
    print(i) 
} 

Output

1 2 3 .... 100

関連する問題