【发布时间】:2016-04-08 17:07:25
【问题描述】:
列表的第一个元素称为头,列表的其余部分称为尾。但是,由列表的前 N 个元素组成的子列表的术语是什么?在第 N 个元素之后的列表的其余部分的名称是什么?
【问题讨论】:
-
真的吗?我认为列表的第一个元素称为汽车,其余的称为 cdr,第 N 个元素之后的列表称为 nthcdr。
-
@DourHighArch 喜欢 lisps 命名事物的方式。我的意思是,头和尾?来吧,这是什么,解剖课?除了笑话,nthcdr 是问题第二部分的有效答案。
-
你可以称之为长度为n的前缀。
-
并非所有概念都已建立名称,但
take和drop的 Haskell 文档称这些为“前缀”和“后缀”。 -
@DourHighArch 当您知道您正在使用
list*、first和rest而不是cons、car和cdr进行列表处理时,会使代码更清晰.当谈到表示一对的两个部分时,car和cdr似乎是最好的名字,因为我没有看到任何更好的主意。
标签: list functional-programming terminology