SORU
30 NİSAN 2010, Cuma


Nasıl bir ad fonksiyonlarını listelemek için?

Bir Clojure tüm fonksiyonlarını ad listesi için bilmek istiyorum. Biraz araştırma yaptım ama henüz orada değilim. Ben zaten bir Java sınıf gösterisi yöntemi kullanma yöntemleri listesi için ne öğrendim:

(show java.awt.Graphics)

Clojure bir ad olan fonksiyonlar listesine böyle show yöntemi denedim:

(show 'clojure.contrib.repl-utils)

Bu Java sınıfı yöntemlerini, ama doc show gibi arıyorum olanları gösterir. Nasıl alabilirim?

CEVAP
30 NİSAN 2010, Cuma


Ben normalde Ara

(keys (ns-publics 'foo))

clojure.contrib.monads Bu iadeler için Değişkenleri ad foo; örneğin tarafından verilen liste

(defmonad censor m-when-not m write m maybe-m maybe-t ...)

(çok daha fazlası için ... stand).

Daha genel olarak, ad alanı tarafından Vars listesi bazı ek kriterler ekli ns- başlangıç olan bir grup fonksiyon vardır:

  1. ns-map -- en genel işlevi, döner bir harita çizdi tarafından simgeleri (non-ad-nitelikli semboller aslında burada değer, ilgili her bir sembol Var ya o sınıfı sembolü çözümler için verilen ad.

  2. ns-interns gibi ns-map, ama sadece içerir Vars staj olarak verilen ad (karşıt olarak Var, diğer ad olan erişilebilir verilen ad nedeniyle bir use refer arayın veya örtülü sevk Vars clojure.core.

  3. ns-publics -- ns-interns gibi ama özel olmayan tek Değişkenleri içerir.

  4. ns-imports -- ns-map gibi ama Java sınıfları karşılık gelen girişleri içerir.

Ayrıca ns-aliases listeler semboller kullanılabilecek gibi steno takma zaman atıfta Vars diğer ad; örneğin, eğer arama (require '[clojure.contrib.math :as math]), ns-aliases içerecektir bir giriş anahtarı math (sembolü) olan değeri olacak gerçek ad clojure.contrib.math. Bu eşleme göster ns-map tarafından döndürülen dahil değildir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • EmperorTigerstar

    EmperorTiger

    14 EYLÜL 2009
  • Google Chrome

    Google Chrom

    1 EYLÜL 2008
  • Tomas N

    Tomas N

    14 Kasım 2010