Swift - stride

2020. 7. 1. 17:11Language/Swift

반응형

stride(from:to:by:)

Returns a sequence from a starting value to, but not including, an end value, stepping by the specified amount.

지정된 값만큼 단계적으로 시작 값에서 종료 값까지 포함하는 시퀀스를 반환합니다.

stride(from:through:by:)

Returns a sequence from a starting value toward, and possibly including, an end value, stepping by the specified amount.

시작 값부터 끝 값을 포함하여 지정된 양만큼 단계별로 시퀀스를 반환합니다.

 

 

간략하게 말하면 for문 과 동일해요.

그런데 Swift에서는 C스타일의 아래 증가하는 값에 대한 변경 기능을 지원을 안하기 떄문에 stride를 만든것이... 아닐까 하는?..

for (int i=0; i<10; i++) {
    print("for a = \(a)")
}

 

stride(from:초기값, to:최종값, by:증가값) && stride(from:초기값, tothrough:최종값, by:증가값) 이라고 생각하시면 될 것 같아요. 

 

 

for문과 비교해 보면 더 이해가 빠를거 같아요.

 

# 10미만 까지 1식 증가하는 stride(from:to:by:)

for a in 1..<10 {
    print("for a = \(a)")
}

print("\n")

for a in stride(from: 1, to: 10, by: 1) {
     print("stride a = \(a)")
}
for a = 1
for a = 2
for a = 3
for a = 4
for a = 5
for a = 6
for a = 7
for a = 8
for a = 9


stride a = 1
stride a = 2
stride a = 3
stride a = 4
stride a = 5
stride a = 6
stride a = 7
stride a = 8
stride a = 9

 

# 10이하 까지 1식 증가하는 stride(from:through:by:)

for a in 1...10 {
    print("for a = \(a)")
}

print("\n")

for a in stride(from: 1, through: 10, by: 1){
     print("stride a = \(a)")
}
for a = 1
for a = 2
for a = 3
for a = 4
for a = 5
for a = 6
for a = 7
for a = 8
for a = 9
for a = 10


stride a = 1
stride a = 2
stride a = 3
stride a = 4
stride a = 5
stride a = 6
stride a = 7
stride a = 8
stride a = 9
stride a = 10

 

# 10이하 까지 2식 증가하는 stride(from:through:by:)

for a in stride(from: 1, through: 10, by: 2){
     print("stride a = \(a)")
}
stride a = 1
stride a = 3
stride a = 5
stride a = 7
stride a = 9

 

반응형

'Language > Swift' 카테고리의 다른 글

Swift - zip  (0) 2020.07.06
Swift - flatMap, compactMap  (0) 2020.07.02
Swift - map  (0) 2020.06.29
Swift - filter  (0) 2020.06.29
Swift - sort, sorted  (0) 2020.06.29