Scheme中的对对

Pairs of pairs in Scheme

如何在方案中创建对。我的意思是这样的表示:

(("x" . "y") . ("a" . "b"))

(cons (cons "x" "y") (cons "a" "b")) creates different thing (("x" . "y") "a" . "b")

请帮忙。

其实(("x" . "y") . ("a" . "b"))等于(("x" . "y") "a" . "b"),你问系统就知道了:

(equal? '(("x" . "y") "a" . "b") '(("x" . "y") . ("a" . "b")))

它们的打印方式不同,因为 (("x" . "y") "a" . "b") 打印为 不正确的列表 。要查看如何获得像 (("x" . "y") . ("a" . "b")) 这样的打印,请参见 .