-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Chapter 3.5 フロー制御 #7
Comments
3.5.2 ループでの繰り返しRustにおける繰り返しの構文は loop, while, for の3つの構文がある。 3.5.2.1 loop でコードを繰り返すloopは条件なしの永久ループ 3.5.2.2 whike で条件付きループ毎回のループ開始前に条件を判定して条件が真の間ブロックを繰り返す。 while number != 0 {
println!("{}!", number);
number = number - 1;
} Rustにはインクリメント演算子 ++ は無いっぽい 3.5.2.3 forを使ってコレクションを覗き見るC++にあるような以下のfor構文は存在しない!! for (let mut i = 0; i < 5; i = i + 1) {
...
} インデクスを使用することでコレクションの範囲外にはアクセスするようなことはない。 let a = [10,20,30,40,50];
for element in a.iter() {
println!("The value is: {}", element);
} また、 下記の例では 1,2,3 が表示される。 for number in 1..4 {
println!("{}!", number);
} 逆順にする場合、以下のようにはできない。 for number in 4..1 {
println!("{}!", number);
} 代わりに Range型をrev()することで実現する。 for number in (1..4).rev() {
println!("{}!", number);
} for number in (1..4).rev() {
println!("{}!", number);
} |
3.5.1 if 式
Rust の if 式は 下記のように 条件式を ( ) で囲まなくてもよい。
3.5.1.2 let文内でif式を使う
if は 式なのでlet文の右辺に使用することができる。
また
else if
で複数の条件になってもよいただし、以下のように elseのない if 式のみはコンパイルエラーになる。
多分 if式に当てはまらないときに値が確定できないからだと思う。
異なる型になるのはダメ
The text was updated successfully, but these errors were encountered: