6

「The Little Lisper」を読み進めようとしているのですが、最初の章ですでに障害に遭遇しています。私は Emacs に比較的慣れていません (Lisp と clojure の学習への関心が高まりました)。Mit-scheme アプリをダウンロードし、Edwin で演習を行っています。

私はしようとしています:

(atom? (cons a l))

ここで、a はアトムで、l はすでに定義されているリストです。次のエラーが表示されます。

;Unbound variable: atom?

なんで?「ヌル?」の使用に問題はありません。関数。「アトム?」と思いました。返された値がアトムかどうかをチェックする内部関数です。

どんな説明でも大歓迎です。私はまだ emacs で schema を実行するように設定していません。すべての Lisp 方言の小さな違いが私の忍耐力を試しています。

4

3 に答える 3

5

"The Little Schemer" ("The Little Lisper" の更新版) では、atom?手順は次のように定義されています ( atom?Scheme には存在しないため)。

(define (atom? x)
  (and (not (null? x))
       (not (pair? x))))

本の古いバージョンに従っている場合は、新しいバージョンを探すか、本で使用されているのと同じプログラミング言語を使用することをお勧めします。素晴らしいScheme IDEで作業できます! Racket を使用して The Little Schemer を実行する際のヒントについては、この回答をご覧ください。

于 2013-06-05T17:11:09.077 に答える