Nasıl Clojure Java sınıfının yöntemlerini alabilir miyim?
Nasıl Clojure Java sınıfının yöntemlerini alabilir miyim?
CEVAP
2 [DEĞİŞTİR]
M Smith'in aşağıdaki yorum başına, bu aynı başarır ama yöntem adı ve döner yöntemleri: sıralama sağlar
(print-table
(sort-by :name
(filter :exception-types (:members (r/reflect "foo")))))
[/2 değiştir]
[DÜZENLE]
Benim orijinal cevap 1.2, ama işler Clojure 1.3 değişti Clojure ifade eder. Bu Clojure. contrib kütüphaneler: herhangi bir güven olmadan çalışır
(require '[clojure.reflect :as r])
(use '[clojure.pprint :only [print-table]])
(print-table (:members (r/reflect "foo")))
Bu sağlar çok daha ayrılmış yaklaşım ile reflect
fonksiyon sağlayan her türlü bilgiyi geçirilen bağımsız değişken (bu durumda, bir String
"foo"
ve print-table
fonksiyon alarak herhangi bir genel tablo veri yapısı ve oldukça baskı gibi.
Bu this thread on the Google Group aslen.
[/DÜZENLE]
Tüm statik ve örnek bir nesnenin üyeleri (veya bir nesne sınıfı) yazdıracak clojure.contrib.repl-utils
ad show
Bu fonksiyonu kullanmak istiyorum. Yani sanki ihtiyacım var:
(require '[clojure.contrib.repl-utils :as ru])
İşte size bir örnek Joda Zaman kullanarak:
(import 'org.joda.time.DateTime)
(ru/show DateTime)
(ru/show (DateTime.))
İlk örnek sadece ikinci sınıf bir örneği olarak iletebilirsiniz gösteriyor ise show
bir dersten gösterir.
Tabii ki bu Java sınıfları altında olan Clojure çok sayıda öğe için çalışıyor. İşte tüm yöntemleri java örneğini görmek için kullanılabilir bir örnek.lang.Dize:
(ru/show "foo")
Nasıl Java artış bir gün bir randevu a...
Nasıl Java UTC veya GMT geçerli tarih ...
Java nasıl bir Dize ped alabilir miyim...
Nasıl Java MD5 parmak izini alın'...
Nasıl bir java alabilir miyim.ıo.Bir j...