if

8章4節のifについて。
今まで何度か使ったけど、知らないことも多かった。

(if
  条件式
  条件式が#f以外の場合のif式の値
  条件式が#fの場合のif式の値)

だそうだ。
3つ目の引数は省略可能だということは初めて知った。
3つ目の引数が省略された場合に「条件式」が#fになった場合は、if式の値は未定義だそうだ。
Gaucheでは#という値を返すそうだ。
わしゃ、未定義の値は好かん!


あと、「条件式が#f以外の場合のif式の値」「条件式が#fの場合のif式の値」にはS式を一つしか書けんので、複数の処理をしたければ

(begin
  S式1
  S式2
  ...
  S式n)

とbegin式にしてしまえばOKだと。
begin式は、S式1、S式2、...、S式nを全て評価して、S式nの値を返す構文だそうな。
これも、なんとなく好かんなぁ。