Weiß jemand, ob es ein Clojure-Äquivalent für Pythons "dir" gibt. Im Grunde muss ich die Funktionen kennen, die ich für etwas oder spezifisch für Java-Objekte aufrufen kann. Ich möchte die verfügbaren Methoden und Eigenschaften kennen (ich bin mir nicht sicher, ob sie in Java Methoden und Eigenschaften heißen, das ist C# lingo).Python "dir" entspricht in Clojure
15
A
Antwort
15
clojure.contrib.repl-utils/show
für den Einsatz am REPL:
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[])
...
Alternativ vielleicht so etwas wie:
user=> (map #(.getName %) (.getMethods String))
("equals" "toString" "hashCode" "compareTo" ...)
.getFields
und .getConstructors
entsprechend.
8
Der clojure.repl
Namespace (die seit Clojure 1.2 verfügbar ist) enthält das Makro dir
und die Funktion 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)
Verwandte Themen
- 1. Python dir() entspricht in JavaScript?
- 2. Clojure entspricht Python doctest?
- 3. Ruby entspricht Pythons "dir"?
- 4. Entspricht Pythons dir() im Knoten REPL?
- 5. Clojure entspricht Pythons LXML-Bibliothek?
- 6. JavaBean entspricht in Python
- 7. Entspricht getfenv in Python?
- 8. Clojure: Entspricht der Common Lisp READ-Funktion?
- 9. C# Atom Referenztyp entspricht clojure Atom
- 10. Python entspricht "halten" in Matlab
- 11. Java TreeSet entspricht in Python?
- 12. Python "Event" entspricht in Java?
- 13. Entspricht Python DocTest in Delphi?
- 14. R read.table entspricht in Python
- 15. Was entspricht Java computeIfAbsent oder PutIfAbsent in Clojure?
- 16. -I dir vs -isystem dir
- 17. Python entspricht Java's compareTo()
- 18. Python entspricht Sed
- 19. Rubin entspricht Python __main__
- 20. Python entspricht Sinatra
- 21. Lua entspricht Python dis()?
- 22. Python: Liste entspricht
- 23. Python entspricht atoi/atof
- 24. Python entspricht "php -s"
- 25. Python entspricht Java's BitSet
- 26. VisualVM entspricht für Python
- 27. Passport.js entspricht für Python?
- 28. Python Extrakt Muster entspricht
- 29. Seitennummerierung in Clojure
- 30. Unterschied zwischen Einheimischen() und Globals() und dir() in Python
Oh, vermisste ich die Einführung von 'clojure.repl' (nicht so viel Zeit für Clojure atm) - gut zu wissen. Aber wie benutzt man es mit Java-Zeug, wie vom OP gefordert? '(clojure.repl/dir String)' funktioniert nicht für mich. – danlei
Wahr, es ist nur für Clojure-Namespaces. – Jonas
Ich frage mich, warum sie nicht so etwas wie 'show' in clojure.repl dann enthalten. Wie auch immer, +1 für deine Erwähnung. – danlei