【发布时间】:2020-04-21 23:02:32
【问题描述】:
阅读时:
https://docs.racket-lang.org/reference/pairs.html
我遇到了list*
类似于列表,但最后一个参数用作结果的尾部,而不是最终元素。仅当最后一个参数是列表时,结果才是列表。
“最后一个参数被用作结果的尾部,而不是最终元素”是什么意思?我认为列表总是以空列表结尾:'()
如果:“只有当最后一个参数是一个列表时,结果才是一个列表”,那还有什么?我认为方案中的所有内容都是一个列表。
【问题讨论】:
-
这个问题肯定是重复的——它必须一直出现。但是搜索
list*太难了,我找不到。也许一个 Scheme 专家还记得它以前出现过? -
试图找到它,但只出现了这个问题。顺便说一句,它被索引的速度有多快。
-
"我认为列表总是以空列表结尾" -- 列表的尾部只是另一个列表,它以
'()结尾。如果你cons某个对象放在那个尾巴的前面,你仍然有一个列表,它仍然以'()结尾。