以下表达式中的值,变量,对象和名称之间有什么区别?

时间:2018-10-05 21:21:07

标签: scheme lisp definition dialect

(define size 2)

我正在使用《计算机程序的结构和解释》作为自学计算机科学的指南,虽然我喜欢这本书作为阅读经验,但我发现作者对术语的表达程度没有任何解释,它们之间的细微差别和差异令人沮丧。

作者说,示例中的名称和值分别为size2,但没有涉及示例的哪个部分是变量或对象。我对这个主题是超级新手,无法确定他是否可以互换使用术语(即值和变量)。

1 个答案:

答案 0 :(得分:3)

size是变量的名称。变量是具有名称的存储位置。也可以有不是可变的存储位置。例如(car foo)是一个表达式,它返回存储在一对第一个插槽中的值;变量的值为对,但是第一个插槽没有名称,因此它不是变量。

在这种情况下,“对象”和“值”是等效的。值是指对象在赋值表达式中所扮演的角色。