什么定义结构平等?

时间:2016-10-11 16:41:24

标签: functional-programming mit-scheme structural-equality

在结构平等方面,

为什么(equal? (list 'a 'b))评估为真,但(equal? (list 2 'b) '(2 'b))评估为假?

1 个答案:

答案 0 :(得分:1)

'(2 'b)相当于(list 2 (list 'quote 'b)) - 一个列表,其第一个元素是数字,第二个元素是另一个列表。

它不等于(list 2 'b),因为(list 2 'b)的第二个元素是符号,而符号不等于列表。