Wcześniej było to useful utility called show w clojure.contrib. Teraz, że jest przestarzałe, czy istnieje odpowiednik?Odpowiednik pokazu clojure.contrib?
Dzięki!
Wcześniej było to useful utility called show w clojure.contrib. Teraz, że jest przestarzałe, czy istnieje odpowiednik?Odpowiednik pokazu clojure.contrib?
Dzięki!
Odbudowanie , aby być bardziej "prostym", udostępniającym różne elementy funkcji wielokrotnego użytku, zostało omówione przez Stuarta Hallowaya w talk, które podają na temat prostoty clojure.
Otrzymany kod wykorzystuje clojure.reflect/reflect
i clojure.pprint/print-table
i 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))
odsyłam do dokumentu Where Did Clojure.Contrib Go, który mówi o clojure.contrib.repl-utils:
przeniesione do clojure.repl i clojure.java.javadoc. pokaż funkcjonalność podobną do clojure.reflect/reflect.
dokumentacji API clojure.reflect jest here i przykłady clojuredocs.org są here.
Jedną z fajnych rzeczy o 'show' jest to, że pracował w instancjach, jak również typów (patrz https://stackoverflow.com/questions/5821286). Czy znasz jakieś przykłady (np. W Clojuredocs lub blogach), które pokazują, jak pprint wartości zmiennych instancji instancji klasy Java? Przestrzeń nazw clojure.repl nie wydaje się wystarczająca (https://clojure.github.io/clojure/clojure.repl-api.html) –
clojure.reflect/reflect above jest zbudowany na samym interfejsie API Java reflection powinien zrobić to, czego potrzebujesz. Częścią rozpadu "show" było to, że robił za dużo. Funkcja reflect została udostępniona w przestrzeni nazw clojure.reflect (a nie repl-api). Spróbuj powyższego przykładu z instancją typu string zamiast typu - (clojure.reflect/reflect "instancja ciągu znaków") –