## Keyboard shortcuts

Press `←` or `→` to navigate between chapters

Press `S` or `/` to search in the book

Press `?` to show this help

Press `Esc` to hide this help

# 式

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