boolean operator

andor は第一引数から順に評価していき、途中で結果が確定したらそれ以降の引数は評価しない。実はandor はシンタックス形式であるが、関数とみなしても特に問題は無い。

> (not #t)
#f
> (and #t #t #f)
#f
> (and #t #f aaa)  ; ここでは aaa を評価するとエラー
#f
> (or #f #t #f)
#t
> (or #t #f aaa)  ; ここでは aaa を評価するとエラー
#t
> (and (or #t #f) (not #f))
#t

一覧 前へ 次へ