答えやすい質問ですが(たぶん)、しばらく探しても何も見つからなかったので、あなたに質問します。
与えられた変数が整数、ハッシュテーブルなどの特定のデータ型であるかどうかを判断する方法があり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
オブジェクトのタイプが であることを確認しますinteger
。
しかし、データ型を返す関数はありますか?
あまり。TYPE-OF
変数ではなくオブジェクトの型を返す関数があります。
> (type-of 1)
FIXNUM
変数から値を取得する場合に違いはありません。
> (type-of *x*)
FIXNUM
しかし、それは変数がその型を持っているという意味ではありません。
注: Common Lisp には型と型宣言があります。しかし、それは少し違うようです。