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

vir*_*cha 5 lisp scheme definition dialect

(define size 2)
Run Code Online (Sandbox Code Playgroud)

我使用计算机程序的结构和解释作为自学计算机科学的指南,虽然我喜欢这本书作为一种阅读体验,但我发现作者在没有任何解释的情况下使用术语的程度他们之间的差异非常令人沮丧。

作者说示例中的名称和值分别是size和 ,2但没有详细说明示例的哪一部分是变量或对象。我对这个主题非常陌生,无法判断他是否可以互换使用术语(即值和变量)。

Bar*_*mar 3

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

In this context, "object" and "value" are equivalent. Value refers to the role that the object serves in the assignment expression.