7

だから私はキーワードを定義しました:

(def a :hello)

IFn インターフェイスが実装されていることを確認するにはどうすればよいですか?

4

1 に答える 1

15

instance?一般的なケースでは、次の述語を使用できます。

(instance? <class-or-interface> <object>)

ドキュメントの引用:

(instance? c x)x を評価し、それがクラス c のインスタンスであるかどうかをテストします。true または false を返します。

例えば:

(instance? java.lang.String "test")
> true

(instance? java.io.Serializable "test")
> true

問題のコードについては、次のようにします。

(instance? package.of.IFn a)

または、コメントで指摘されているように、これが機能するかどうかを尋ねる非常に特殊なケースについてaは、次のようになります。IFn

(ifn? a)
于 2012-08-29T04:00:04.513 に答える