gpt4 book ai didi

lisp - 为什么我收到 "atom?"的未绑定(bind)错误

转载 作者:太空宇宙 更新时间:2023-11-03 18:37:59 24 4
gpt4 key购买 nike

我正在尝试通读“The Little Lisper”,但在第一章中就遇到了障碍。我对 Emacs 比较陌生(这激发了我学习 Lisp 和 clojure 的兴趣)。我下载了 Mit-scheme 应用程序,并在 Edwin 上进行练习。

我正在尝试:

(atom? (cons a l))

其中 a 是一个原子,l 是一个已经定义的列表。我收到以下错误:

;Unbound variable: atom?

为什么?我使用“null”没有问题吗?功能。我以为“原子?”是检查返回值是否为原子的内部函数。

任何解释将不胜感激。我还没有设置我的 emacs 来运行方案,所有 lisp 方言之间的细微差别正在考验我的耐心。

最佳答案

在“The Little Schemer”(“The Little Lisper”的更新版本)中,atom? 过程定义如下(因为 atom? 不存在在方案中):

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

如果您正在阅读本书的旧版本,我建议您要么寻找较新的版本,要么使用书中使用的相同编程语言:The Little Lisper 的 Common Lisp,The Little Schemer 的 Scheme - 以及Racket 是一个很好用的 Scheme IDE!看看这个answer了解使用 Racket 阅读 The Little Schemer 时的一些技巧。

关于lisp - 为什么我收到 "atom?"的未绑定(bind)错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16932619/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com