Emacs 什么';变量和符号的根本区别是什么?
我对此相当困惑Emacs 什么';变量和符号的根本区别是什么?,emacs,elisp,Emacs,Elisp,我对此相当困惑 它们之间的关系是什么(例如,如何在另一个上下文中使用一个)?非常感谢 符号的概念有点难理解。(甚至我也不确定我是否得到了:)) 您可以将符号视为行为类似于常量的特殊变量。内存中只有一个实例,不管您使用它的频率有多高 这样做的好处是节省内存,可以看出值是否以类似常量的方式使用。(提高代码可读性) 您可以在C/C++中使用typdef,在Java中使用static final或在Delphi/Pascal/VB中使用const执行类似的操作,但请注意,在这些语言和许多其他语言中,“s
它们之间的关系是什么(例如,如何在另一个上下文中使用一个)?非常感谢 符号的概念有点难理解。(甚至我也不确定我是否得到了:)) 您可以将符号视为行为类似于常量的特殊变量。内存中只有一个实例,不管您使用它的频率有多高 这样做的好处是节省内存,可以看出值是否以类似常量的方式使用。(提高代码可读性) 您可以在C/C++中使用
typdef
,在Java中使用static final
或在Delphi/Pascal/VB中使用const
执行类似的操作,但请注意,在这些语言和许多其他语言中,“symbol”的含义不同 是什么
符号基本上只是一个具有四个字段的对象:
- 名称(字符串)
- 值(某些Lisp对象)
- 函数(某些Lisp对象),以及
- 属性列表(通常是交替关键字/值对的列表)李>
属性列表被用作将附加值与特定名称关联的更通用的机制,并且名称空间再次独立于函数和变量名称空间。简单地说,变量是符号和值之间的绑定。符号是变量的名称。计算绑定符号(即变量名)时,返回变量值 您还可以使用非变量的符号,即未绑定到值的名称。但不能计算未绑定的符号 在Lisp-2中,符号可以同时绑定到值和函数,上下文定义计算符号的结果是值还是函数