Rust by Example

6 式文

Rustのプログラムは(ほとんどの場合)文(statement)の連続でできています

fn main() {
    // statement
    // statement
    // statement
}

宣言文にはいくつかの種類があります。最も一般的なのは変数の束縛(variable binding)と式文(expression)で、いずれも行末に;が付きます

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); }