eqan?
私は次のような(単純な、つまりなしの)one?
関数を書こうとしました:
(define one?
(lambda (n)
((= 1 n))))
しかし、私がそれをそのように呼ぶとき、上記はうまくいきません:
(one? 1)
私はこのエラーで迎えられます:
procedure application: expected procedure, given: #t (no arguments)
( The Little Schemerから)それを書く正しい方法は次のとおりです。
(define one?
(lambda (n)
(cond
(else (= 1 n)))))
単に返すのではなく、 cond
with句を使用する必要があるのはなぜですか?else
(= 1 n)