【发布时间】:2021-06-09 21:38:40
【问题描述】:
来自 Racket 中equals? 的文档:
相等?递归比较对、向量和字符串的内容,应用 eqv?在其他对象上,例如数字和符号。一个经验法则是对象通常是相等的?如果他们打印相同。平等的?如果其参数是循环数据结构,则可能无法终止。
(equal? 'a 'a) ===> #t` (equal? '(a) '(a)) ===> #t`
scheme 中的向量到底是什么?例如,(1. 2) 是向量吗? (1 2) 是向量吗? (1 2 3 4) 是向量吗?等等
文档列出了向量和vector? 等的提及,但我想知道他们是否只是使用向量来表示“列表”或其他内容:https://people.csail.mit.edu/jaffer/r5rs/Disjointness-of-types.html#Disjointness-of-types
【问题讨论】:
-
仅供参考,他们在 SICP 中几乎没有提到向量,直到后面的章节你才会听说它们。单链表是 Scheme 中首选的数据结构。
-
顺便说一句,如果你在做 SICP,他们使用 MIT 方案,该方案也有在线文档。如果您使用的是不同的版本,阅读它的内容可能仍然是一个好主意:web.mit.edu/scheme_v9.2/doc/mit-scheme-ref/index.html