length ¶可以使用 Lisp 函数 length 获取列表中的元素个数,示例如下:
(length '(buttercup))
⇒ 1
(length '(daisy buttercup))
⇒ 2
(length (cons 'violet '(daisy buttercup)))
⇒ 3
第三个例子中,cons 先构造出一个三元素列表,再将其作为参数传给 length 函数。
我们也可以用 length 统计空列表的元素个数:
(length ())
⇒ 0
正如预期,空列表的元素个数为 0。
一个有趣的尝试是:尝试不对任何列表求长度,也就是调用 length 时不提供任何参数,连空列表都不传:
(length )
执行后会看到如下错误信息:
Lisp error: (wrong-number-of-arguments length 0)
这表示函数收到的参数个数错误:本应接收指定个数的参数,实际却收到 0 个。在本例中,length 期望接收一个参数,即需要测量长度的列表。(注意:一个列表就算包含很多元素,也仍然只是一个参数。)
错误信息中的 ‘length’ 是出错函数的名称。