scheme - 非空方案列表是否包含至少一个原子?
问题描述
在The Little Schemer(第 4 版)中,声称一个错误的列表null?
至少包含一个 atom,或者我从阅读文本中了解到。
这对我来说没有意义,因为(atom '())
它是错误的,我们可以将它们粘贴到一个列表中以使其非空:
> (null? '(()))
#f
所以我的问题是,这是我的阅读错误,还是定义问题?由于它不在勘误表中,我认为这样一本经过充分研究的书不会有这样的错误。
如果我们认为(())
与原子相同(() . ())
或什 (cons '() '())
至然后考虑cons
原子,那么我可以看到您如何到达那里,但我认为这不是正在发生的事情。
(这是在 Racket 7.0 中测试的,atom?
书中给出的定义,即
(define atom?
(lambda (x)
(and (not (pair? x)) (not (null? x)))))
我知道这不包括有趣的球拍功能,但在这里应该足够了。)
解决方案
lat
被假定为书中该点的原子列表。
如果它不是空的,根据定义它包含一些原子。
这不是关于 Lisp,而是关于这本书的介绍。
推荐阅读
- sql - 在 SQL Server 中使用纬度和经度查找两点之间的距离
- python-3.x - 散景子图适合屏幕
- sql - 将表从 Dev DB 复制到 QA DB
- angular - 如何将复选框与我的数据库值进行比较?| 角
- java - Discord4j 从 id 获取用户名
- php - Opencart 错误日志管理端的 PHP 错误
- material-ui - 在导航栏中将按钮对齐到登录右侧
- python - 为什么异常值仍然出现在箱线图中?
- javascript - 如何使用 0s 和 1s 的 json 以角度管理用户权限?
- android - 我应该怎么做才能修复android gradle错误?