common-lisp - 使用 Common Lisp 创建一对对

标签 common-lisp cons

我需要使用 Common Lisp 创建一个包含两对的对。

输出需要是: ((1 . 2) . (3 . 4))

文献指出 (cons (cons 1 2) (cons 3 4)) 应该输出我需要的东西但是当我运行它时我得到:
((1 . 2) 3 . 4)

感谢任何帮助。

最佳答案

在 Lisp 中

((1 . 2) . (3 . 4))

((1 . 2) 3 . 4)

完全一样。您可以通过评估 '((1 . 2) . (3 . 4)) 来检查。

如果你考虑一下,3 是 cdr 的车,所以它是不正确列表的第二个元素,所以 (1 . 2) 对是第一个元素,3 作为第二个元素,用 4 而不是 NIL 来终止它。

它们只是查看相同 cons 单元配置的两种方式: enter image description here

关于common-lisp - 使用 Common Lisp 创建一对对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27629679/

相关文章:

lisp - 有办法保存 Common Lisp 或 Scheme 的 REPL 状态吗?

recursion - 普通口齿不清 : error "CDR LST should be a lambda expression"

common-lisp - 为什么 Common Lisp 没有通用运算符?

racket - cons 两个元素输出错误的结果

Python:带有 cons、car 和 cdr 的函数式编程

operating-system - 是否有使用 Lisp 开发的操作系统?

common-lisp - 如何在 Clack、Lucerne 或 Caveman 中获取 url 查询参数?

prolog - [a | b | c]在SWI-Prolog中的评估结果是什么?

haskell - 在列表中使用带有尾部尾部的 cons 会引发错误

data-structures - 不能在 Clojure 的库级别有效地实现 cons 单元吗?