这是一个很容易回答的问题(我猜),但我找了一段时间没找到任何东西,所以我会把问题告诉你。
有typep
来确定给定变量是否属于某种特定数据类型,例如整数,哈希表等,但是有一个返回数据类型的函数吗?
e.g。
(defvar *x* 1)
*x*
(typep *x* 'integer)
T
(the-type-function *x*)
INTEGER
答案 0 :(得分:29)
有一个typep来确定给定变量是否属于某种特定的数据类型,例如:整数,哈希表等,
不是真的。在Common Lisp中,变量不是您想象的那样。
(defvar *x* 1)
*x*
(typep *x* 'integer)
T
上面没有提到变量*x*
的类型。它确认对象1
的类型为integer
。
但是有一个返回数据类型的函数吗?
不是真的。有一个函数TYPE-OF
,它返回一个对象的类型,而不是一个变量。
> (type-of 1)
FIXNUM
从变量中获取值时没有区别。
> (type-of *x*)
FIXNUM
但这并不意味着变量具有该类型。
注意:Common Lisp具有类型和类型声明。但这看起来略有不同。