Daniel P. Friedman の 『Scheme手習い』(原著『Little Schemer』)の一章目の最初のページから躓きました。
3ページの問題に
これはアトムですか。
(atom)
とあります。 右側の答えによると、
はい。
(atom)はアトムをかっこでくくったものですから。
と、アトムだということです。
はじめに(前書き)、に記載されているコード(参考1)と Common Lisp にある関数atom
を使って以下を試してみると、
(atom? '(atom)) ;または (atom '(atom)) ;common lisp の関数
Nil
が表示されます。Gaucheで同様のことを試してみても #f
が表示されます。
恐らく私のコードの何かが間違っているのでしょうが、↑は正しく使われていますか?
同署の一番最初の問題「これはアトムですか。 atom」で、(atom? atom)
と書いてエラーが出て来た後、注意書きに「(quote atom)
または'atom
」と書いてあるのに気付きクウォート付きで試しています。
もしかすると、この本の読み方、または練習の仕方がわかっていないという可能性が大きいので、ご指摘お願いします。
参考1
LISP
1(define atom? (x) 2 (not (listp x)))
Scheme
1(define atom? 2 (lambda (x) 3 (and (not (pair? x)) (not (null? x))))))
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/11/10 22:26