[Swift] Range

Page·2022년 6월 20일

Swift

목록 보기
2/6

Ranges

애플 디벨롭 공식문서의 Number and Basic Values를 살펴보면 Logical values, Numeric values와 함께 Ranges가 포함되어 있다.

for i in 0..<10 {
    print(i)
}

(0..<10).forEach { i in
    print(i)
}

스위프트에서는 반복문을 위의 형식처럼 이용했는데 (0..<10)가 스위프트에서 말하는 Range다. 생각해보면 .forEach를 이용할 수 있다는 점에서 어떤 값이라는 것을 유추할 수 있었다.

Ranges는 Range와 ClosedRange로 나뉘는데 (0..<10)는 Range, (0...10)은 ClosedRange이니 구분하기 쉽다.

문서에서는 ClosedRange는 upper bound를 포함하고 Range는 upper bound를 포함하지 않는다고 표현한다. (0...10)에서 10이 upper bound고 반대로 0은 lower bound다.

var lb = 0
var ub = 10
var range = lb...ub

for i in lb...ub {
    print(i)
}

for i in range {
    print(i)
}

이제 어떤 범위가 주어졌다면 기존에 사용했던 것처럼 사용할 수도 있지만 Range타입의 변수를 만들어줘도 좋겠다. 이 경우에는 Range의 프로퍼티나 메소드를 이용할 수 있기때문에 범위에서 최소값을 구하고, 특정 값이 들어있는지 확인하는 등등 간편하게 이용할 수가 있다.

Reference

http://seorenn.blogspot.com/2018/05/swift-range.html
https://developer.apple.com/documentation/swift/range

0개의 댓글