2013-07-30 5 views

答えて

10

showは、再利用可能な機能の利用可能な別個のものを作成するために、より複雑になるように構成されています。

結果のコードはclojure.reflect/reflectclojure.pprint/print-table の使用と標準Clojureのfilterます:

(require 'clojure.reflect) 
(require 'clojure.pprint) 

(->> (clojure.reflect/reflect java.lang.String) 
    :members 
    (filter #(.startsWith (str (:name %)) "last")) 
    (clojure.pprint/print-table)) 
+0

をshow'、 'についてのクールなことの一つは、それがインスタンスで働いていただけでなく、種類にということである(HTTPSを参照してください/ /stackoverflow.com/questions/5821286)。 Javaクラスのインスタンスのインスタンス変数の値をpprintingする方法を示す例(Clojuredocsやブログなど)を知っていますか? clojure.repl名前空間は十分に(https://clojure.github.io/clojure/clojure.repl-api.html) –

+0

clojure.reflect /反映上記のJavaリフレクションAPIの上に構築されるために持っていないようですそれはあなたが必要とするものを行うべきです。それはあまりにも多くしていた "ショー"を分割するポイントの一部。反映機能は、repl-apiではなくclojure.reflect名前空間で使用可能になりました。上記の例では、型の代わりに文字列インスタンスを使用してみてください。 - (clojure.reflect/reflect "文字列のインスタンス") –

6

私はclojure.contrib.repl-utilsの約言うWhere Did Clojure.Contrib Go文書、にあなたを参照してください:clojure.replとclojure.java.javadocに移行

。 clojure.reflect/reflectと似た機能を表示します。

clojure.reflect APIドキュメントはhereであり、clojuredocs.orgの例はhereです。

関連する問題