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