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

동결

데이터가 동일한 이름으로 불변하게 바인딩되면, 해당 데이터는 _동결(freeze)_됩니다. 동결된 데이터는 불변 바인딩이 스코프를 벗어날 때까지 수정할 수 없습니다.

fn main() {
    let mut _mutable_integer = 7i32;

    {
        // 불변 `_mutable_integer`에 의한 섀도잉
        let _mutable_integer = _mutable_integer;

        // 에러! `_mutable_integer`는 이 스코프에서 동결되었습니다
        _mutable_integer = 50;
        // FIXME ^ 이 줄을 주석 처리하세요

        // `_mutable_integer`가 스코프를 벗어납니다
    }

    // 좋습니다! `_mutable_integer`는 이 스코프에서 동결되지 않았습니다
    _mutable_integer = 3;
}