如何解决以各种方式创建列表
我可以通过以下所有方式创建单元素列表 (2)
:
'(2)
(list 2)
(cons 2 nil)
但是,为什么下面会报错?
(2 . nil)
scheme 中没有“标量空”值这样的东西吗?或者有没有其他方法可以做到这一点?
解决方法
(2 . '())
确实代表了单例列表 '(2)
:后者是前者的简写。问题是,如果在与 (cons 2 '())
相同的上下文中使用它,则会出现错误。为什么?如果您尝试计算 (2)
,您会得到同样的错误!这意味着将 2
作为函数调用,不传递参数。
如果您只想创建这样的列表而不调用它,您可以使用速记做同样的事情:引用它。
'(2 . ())
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。