#lang racket

我需要从一个元素和一个列表创建一对

但是当我做(cons 2 (list 1 2 3))时我得到(2 (1 2 3)),我想得到(2 . (1 2 3))如何获得点?

最佳答案

由于(cons a b)(a . b)相同,我们得到(2 . (1 2 3))(cons 2 (list 1 2 3)相同,后者与(list 2 1 2 3)相同。确认:

> (cons 2 (list 1 2 3))
'(2 1 2 3)

> '(2 . (1 2 3))
'(2 1 2 3)

请注意,打印机将打印(2 1 2 3)而不是(2 . (1 2 3))。打印机仅在绝对需要时才尝试使用该点。

关于racket - 缺点两个元素输出错误的结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29476759/

10-14 11:26