whenとunless
8章4節のwhenとunlessに関して。
when
与えた式が真となるとき(つまり#fにならないとき)に限り処理をする場合に使う。
(when <条件式> 複数のS式)
<条件式>を評価した後、それが#f以外になれば以降に続く「複数のS式」を順に評価して、最後のS式の値をwhen全体の値とする。
つまり、以下のようなif式と等価
(if <条件式> (begin 複数のS式))
unless
whenとは逆に、与えられた式が#fとなるときに限り処理をする場合に使う。
(unless <条件式> 複数のS式)
これは以下のようなif式と等価
(if (not <条件式>) (begin 複数のS式))