Range Operators

1285 ワード

日常生活では1~5はこのように用いられるが,swiftでは以下のようにコードを記述する.

Closed Range Operator

a ... b
a...
...a
単項演算子または二項演算子として使用できます.注意すべき点は、単項演説者を使用する場合、スペースを残さないことです.
1...10 // 1 ~ 10
//10...1 // 여기서는 컴파일 에러가 생긴다.
(1...10).reversed() // 이렇게 내림차순으로도 만들수 있다.
12.34 ... 56.78 // 실수도 가능하며
// index값이 있는 모든 범위에 대하여 범위 연산자를 사용할수 있다.

var sum = 0

for num in 1...10 {
    num
    sum += num
}

sum

let list = ["A","B","C","D","E"]
list[2...] // C이후의 값들을 추출한다
list[...2] // A,B,C로 리스트가 만들어진다.

//박복문 사용시 무한 루프를 주의해야한다.

for num in 1... { // 무한 루프가 실행된다. 주의!
    print(num)
}

Half-Opern Range Operator

a ..< b
..<a
1..<10 // 1 ~ 9 뒤의 값은 범위에 포함되지 않는다.

for num in 1..<10{
    sum += num
}

sum // 1 ~ 9까지 9번 실행된다.

list[..<2] // A와 B만 저장된다. 배열은 시작 범위가 0으로 고정되어있다.

for num in ..<10 { //문법적으로 지원되지 않는다.
    print(num)
}

特定の値が範囲に属するかどうかを決定する方法

let range = 0 ... 5
let range2 = ...5 // 고정된 범위가 아닌경우 무한대를 뜻한다.

range.contains(7) // false contains안에 범위안에 값이 있는지 확인하고자 하는 수를 넣는다.
range2.contains(-3) // true