Equivalent to clojure.contrib's show?

2019-04-06 12:20发布

There used to be this useful utility called show in clojure.contrib. Now, that it's deprecated, is there an equivalent to it?

Thanks!

2条回答
甜甜的少女心
2楼-- · 2019-04-06 13:10

I refer you to the Where Did Clojure.Contrib Go document, which says about clojure.contrib.repl-utils:

Migrated to clojure.repl and clojure.java.javadoc. show functionality similar to clojure.reflect/reflect.

The clojure.reflect API documentation is here, and the clojuredocs.org examples are here.

查看更多
smile是对你的礼貌
3楼-- · 2019-04-06 13:15

De-constructing show to be more "simple", making available distinct pieces of re-usable functionality, was discussed by Stuart Halloway in a talk he give on clojure simplicity.

The resulting code makes use of clojure.reflect/reflect and clojure.pprint/print-table and standard clojure filter:

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

(->> (clojure.reflect/reflect java.lang.String)
     :members
     (filter #(.startsWith (str (:name %)) "last"))
     (clojure.pprint/print-table))
查看更多
登录 后发表回答