4

LISP 中的字母“t”是什么意思?

前任:

(defun last2 (lst)
   (cond ((null lst) nil)
       ((null (cdr lst)) (car lst))
        (t (last2 (cdr lst)))))

我的教科书是一个课程包,所以它并不能完全解释所有的含义。谢谢。

4

2 回答 2

11

T 是 Common Lisp 中的规范真值。在这里,它被用作 ELSE,确保 COND 的最后一个分支始终为真。(除 NIL 以外的任何值也都算作真。)

于 2012-11-28T01:12:38.120 回答
8

请参阅Common Lisp Hyperspec 的词汇表以获取t

t n。1.一个。表示真的布尔值。湾。代表真的规范广义布尔值。(虽然除了 nil 之外的任何对象都被认为是一个广义布尔值,但通常在没有特殊理由更喜欢一个这样的对象而不是另一个时使用 t。) ...

于 2012-11-28T09:39:57.603 回答