新しく導入する構文は:
- 変更可能代入文
- 副作用付きif文〈手続き的if文〉
キーワードと構文:
- let mut
- := 代入の右辺式は純
- if-then-else
- if-then
- unless-do
翻訳:
- mutキーワードは、変数が変更可能であることを宣言する。let mut 変数 ← ... は、変更可能変数を初期化する。初期化で副作用が起きる可能性がある。
- 変更可能変数は、ネストしたブロック内で同名の変数が次々と作られる。外側の変数はシャドウイングされる。
- elseが省略された場合、void値(Unit型の唯一の値)が値となる。セミコロンまたは改行で続くときはvoid値は捨てられる(次のクライスリ射が暗黙に消費する)。
- unlessは単なるシンタックスシュガー。