我尝试在操场上创建一个1-100个元素的数组,但是当我试图打印时,它不打印数组中的值。
代码:
var ab:Array = [1...100]
for i in ab {
print(i)
}
但在操场上它并没有显示任何错误。 我做错了什么吗? 感谢
答案 0 :(得分:7)
您创建了一个Range<Int>
元素数组(单个元素,1..<101
)
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>
变量并循环遍历此范围中包含的元素。 E.g。
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
答案 1 :(得分:0)
使用Paint
和clear
;
effective
var ab = Array(1...100)
for i in ab {
print(i)
}
1 2 3 .... 100