-1
このコードで変数a
に空の値が表示されるのはなぜですか? また、{:?}
の書式設定がないと、これはコンパイルされません。式の空白値
fn main() {
let mut a = 5;
let mut b = 6;
let n = 7;
let a = b = n;
println!("{:?}", a);
}
このコードで変数a
に空の値が表示されるのはなぜですか? また、{:?}
の書式設定がないと、これはコンパイルされません。式の空白値
fn main() {
let mut a = 5;
let mut b = 6;
let n = 7;
let a = b = n;
println!("{:?}", a);
}
Cのような他の言語とは異なり、代入式は割り当てられた値に評価されません。割り当ては常に()
と評価されます。
Cやその他の言語とは異なり、代入式(b = n
ここ)は、Rustに()
を返します。
もlet a = ...;
が実際にa
を変異させる代わりに、以前のものを影と()
が割り当てられている新しいa
を作成していないことに注意してください。
しかし、bの値は7になりますが、どうなりますか? –
代入式は '()'に評価されます。 'b = n'は代入式です。したがって、 'a'の値は'() 'です。 –