I'm trying to wrap my head around ranges, it seems they're a bit inconsistent in cases.
For example in a for loop it's lowerInclusive..upperExclusive or lowerInclusive..=upperInclusive.
In a match it's lowerInclusive...upperInclusive.
The three dot's don't work in for loops and the two dots don't work in matches. What's the difference?
fn main() {
for i in 1..5 {
println!("Got {}", i);
}
println!("--------------------------");
for i in 1..=5 {
println!("Got {}", i);
}
println!("--------------------------");
// Error
// for i in 1...5 {
// println!("Got {}", i);
// }
// println!("--------------------------");
for i in [0, 1, 5, 6].iter() {
print!("For {} it's ", i);
match i {
1...5 => println!("1 to 5"),
// Error
// 6..7 => println!("6"),
_ => println!("not 1 to 5"),
}
}
}