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

ネストとラベル

ネストされたループを扱うときに、外側のループに対して breakcontinue を実行できます。このような場合、ループには何らかの 'label を付けて注釈し、そのラベルを break/continue 文に渡す必要があります。

#![allow(unreachable_code, unused_labels)]

fn main() {
    'outer: loop {
        println!("Entered the outer loop");

        'inner: loop {
            println!("Entered the inner loop");

            // これは内側のループだけを抜ける
            //break;

            // これは外側のループを抜ける
            break 'outer;
        }

        println!("This point will never be reached");
    }

    println!("Exited the outer loop");
}