में बराबर किसी को भी पता है कि अगर वहाँ अजगर के लिए "dir" एक Clojure बराबर है है। मूल रूप से मैं काम करता है मैं जावा वस्तुओं मैं तरीकों और उपलब्ध संपत्तियों जानना चाहता हूँ के लिए और अधिक विशेष कुछ पर फोन कर सकते हैं या पता होना चाहिए (मुझे यकीन है कि अगर जावा में वे कहा जाता तरीकों और गुण हैं नहीं कर रहा हूँ, इस सी # शब्दावली है)।अजगर "dir" Clojure
15
A
उत्तर
15
clojure.contrib.repl-utils/show
आरईपीएल में उपयोग के लिए:
user=> (use '[clojure.contrib.repl-utils :only (show)])
nil
user=> (show String)
=== public final java.lang.String ===
[ 0] static CASE_INSENSITIVE_ORDER : Comparator
[ 1] static copyValueOf : String (char[])
[ 2] static copyValueOf : String (char[],int,int)
[ 3] static format : String (Locale,String,Object[])
[ 4] static format : String (String,Object[])
...
वैकल्पिक रूप से, शायद कुछ की तरह:
user=> (map #(.getName %) (.getMethods String))
("equals" "toString" "hashCode" "compareTo" ...)
.getFields
, और .getConstructors
तदनुसार।
8
clojure.repl
नाम स्थान (जो Clojure 1.2 के बाद से उपलब्ध है) मैक्रो dir
और समारोह dir-fn
शामिल हैं:
user=> (clojure.repl/dir clojure.main)
load-script
main
repl
...
user=> (clojure.repl/dir-fn 'clojure.main)
(load-script main repl repl-caught repl-exception
repl-prompt repl-read skip-if-eol skip-whitespace
with-bindings)
ओह, मैं 'clojure.repl' की शुरूआत (Clojure एटीएम के लिए इतना समय नहीं याद किया) - जानकार अच्छा लगा। लेकिन ओपी द्वारा पूछे जाने पर, आप जावा सामान के साथ इसका उपयोग कैसे करते हैं? '(clojure.repl/dir स्ट्रिंग) 'मेरे लिए काम नहीं करता है। – danlei
सच है, यह केवल क्लोजर नामस्थान के लिए है। – Jonas
मुझे आश्चर्य है कि क्यों उन्होंने clojure.repl में 'show' जैसे कुछ शामिल नहीं किया था। वैसे भी, आपके उल्लेख के लिए +1। – danlei