式
Rustのプログラムは(ほとんどの場合)文の連続でできています
fn main() {
// statement
// statement
// statement
}
文にはいくつかの種類があります。最も一般的なのは変数の束縛と;付きの式です。
fn main() {
// 変数束縛
let x = 5;
// 式;
x;
x + 1;
15;
}
コードブロックも式の一種です。よってブロックを丸ごと値として扱うことができます。その場合ブロック内の最後の式が場所を表す式(例えばローカル変数)に代入されます。ただし、ブロック内の最後の式が;で終わる場合は返り値は()になります。
fn main() {
let x = 5u32;
let y = {
let x_squared = x * x;
let x_cube = x_squared * x;
// この式は`y`に代入されます。
x_cube + x_squared + x
};
let z = {
// セミコロンがあるので`z`には`()`が入ります。
2 * x;
};
println!("x is {:?}", x);
println!("y is {:?}", y);
println!("z is {:?}", z);
}