Notice
Recent Posts
Recent Comments
NeuroWhAI의 잡블로그
[Rust] in/exclusive range expression and pattern 본문
fn main() {
// exclusive range
for x in 0..5 {
print!("{} ", x);
}
println!();
// inclusive range
for x in 0..=5 {
print!("{} ", x);
}
println!();
/*for x in 0...5 {
print!("{} ", x);
}
println!();*/
//error: `...` syntax cannot be used in expressions
let x = 42;
match x {
0...42 => println!("in [0, 42]"),
//0..=42 => println!("in [0, 42]"),
// Same with 0...42
//0..42 => println!("in [0, 42)"),
//error[E0658]: exclusive range pattern syntax is experimental
_ => println!("not in [0, 42]")
}
}
0 1 2 3 4 0 1 2 3 4 5 in [0, 42]
inclusive range = [a, b] = (a <= x <= b) = `a...b` = `a..=b`
exclusive range = [a, b) = (a <= x < b) = `a..b`
`a...b`는 패턴으로만 사용할 수 있고 식으로는 사용할 수 없습니다.
`a..b`는 식으로는 사용할 수 있지만 '아직은' 패턴으로 사용할 수 없습니다.
'개발 및 공부 > 언어' 카테고리의 다른 글
[C++] Fold Expressions (0) | 2018.09.05 |
---|---|
[C++] lock tag(defer_lock, try_to_lock, adopt_lock) 설명 + scoped_lock (0) | 2018.08.26 |
[C++] std::void_t를 이용해 클래스에 특정 멤버가 있는지 확인하기. (0) | 2018.08.05 |
[C++] 기본 인수(Default arguments) 고급 (0) | 2018.08.04 |
[Kotlin] 헬로, 코틀린! (0) | 2018.08.04 |
Comments