Lisp 列表递归基本情况

Lisp 列表递归基本情况,lisp,Lisp,当 不太清楚这些有什么不同,有人能帮忙吗 非常感谢它们没什么不同nil和'()表示Lisp中完全相同的对象: (cond ((null lst) '()) ; this means we are at the empty set? 有些人会告诉你用nil表示布尔值false,用'()或()表示空列表。不过,这只是编码风格的问题。它们没有什么不同nil和'()表示Lisp中完全相同的对象: (cond ((null lst) '()) ; this means we are at the em

不太清楚这些有什么不同,有人能帮忙吗


非常感谢

它们没什么不同
nil
'()
表示Lisp中完全相同的对象:

(cond ((null lst) '()) ; this means we are at the empty set? 

有些人会告诉你用
nil
表示布尔值false,用
'()
()
表示空列表。不过,这只是编码风格的问题。

它们没有什么不同
nil
'()
表示Lisp中完全相同的对象:

(cond ((null lst) '()) ; this means we are at the empty set? 

有些人会告诉你用
nil
表示布尔值false,用
'()
()
表示空列表。不过,这只是编码风格的问题。

嗯,我实际上认为我可能误解了(cond()。对于第一种情况,如果列表为空,它的答案将为零;对于另一种情况,如果列表为空,它的答案将为空集,对吗?谢谢对于你的回答,我知道“()和nil基本上是一样的:
()
是空列表,而不是空集合。否则,正确。嗯,我实际上认为我可能误解了(cond()。对于第一种情况,如果列表为空,它的答案将为零;对于另一种情况,如果列表为空,它的答案将为空集,对吗?谢谢对于你的回答,我知道“()和nil基本上是一样的:
()
是空列表,而不是空集合。否则,请更正。
[1]> (eq nil '())
T