for [coordinate] in [arry] 이라는 문법이다.
여기서 coordinate 는 해당 배열에 크기에대한 인덱스를 나타낸다.
근데 내부에서
world.place(Block(), at : coordinate) 를 본다면
해당 coordinate는 idx에 대한 값 즉 row,column를 반환해준다.
추가적으로 count라는 속성이 있는데 이는 크기를 나타내며 length로 생각하면된다.
var heights: [Int] = [7,3,2,4]
let allCoordinates = world.allPossibleCoordinates
var index = 0
for coordinate in allCoordinates {
if index == heights.count {
index = 0
}
for i in 0...heights[index] {
// 블록을 배치합니다.
world.place(Block(), at : coordinate)
}
// 인덱스를 증가시킵니다.
index += 1
}