R6RS:翻訳:R6RS:11.4.4 Assignments

R6RS:翻訳:R6RS:11.4.4 Assignments

11.4.4 代入

[syntax] (set! <variable> <expression>)

<expression> が評価されて、その結果の値が <variable> の束縛されている場所に格納される。 <variable> は set! を取り囲む領域のいずこかかトップレベルになければならない。 set! 式の結果は未規定である。

(let ((x 2))
  (+ x 1)
  (set! x 4)
  (+ x 1))         ⇒  5

<variable> が変更不可能な束縛を参照していた場合は構文違反である。

: 識別子 set! はレベル 1 でも公開されている。R6RS:翻訳:R6RS:11.19 Macro transformers 参照。

More ...