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