5

基本的には を使わないといけないと思いますが(typep var 'string-type)、私が知る限り string のような型はありません。

type-of を介して型を決定すると、

(type-of "rowrowrowyourboat")
> (SIMPLE-ARRAY CHARACTER (17))

これは、探すだけでは何の役にも立たないため、一般的な方法で探すことができるタイプではSIMPLE-ARRAYありません。

(typep "rowrowrowyourboat" 'simple-array)
> t

(typep (make-array 1) 'simple-array)
> t

また、サンプル文字列のタイプを動的に決定する直観的なハックを使用しても、(ほとんどの場合) 同じ長さではないため、何の役にも立ちません。

(typep "rowrowrowyourboat" (type-of "string"))
> nil

特定の変数が文字列型かどうかを確認する標準的な方法は何ですか?

4

2 に答える 2

9

ほとんどの型には CL の述語があり、文字列が char のシーケンスである場合でも、必要なことを正確に実行する関数 stringpが存在します。

(stringp "getlydownthestream") ; ==> T

ドキュメントには、それは書き込みと同じであると書かれています

(typep "ifyouseeacrocodile" 'string) ; ==> T
于 2013-09-01T15:31:56.263 に答える