Normalde ad foo
tarafından ihraç Vars Listeye
(keys (ns-publics 'foo))
diyoruz; Örneğin. clojure.contrib.monads
için bu
(defmonad censor m-when-not m+write+m maybe-m maybe-t ...)
(oldukça çok daha ...
stantlar) döndürür.
Daha genel isimler ekli bazı ek kriterler, ad tarafından Vars listelemek ns-
başlayacak fonksiyonları bir demet var:
ns-map
- tüm en genel işlevi, anahtarlı bir harita döndürür sembollerle (isim-alanı olmayan kalifiye semboller), her sembole karşılık gelen değer, sembolün verilen isim alanında var olan Var mı yoksa sınıf mı olduğu ile.
ns-interns
- ns-map
gibi ama içerir nedeniyle sadece bir use
veya refer
çağrı veya Vars örtülü yönlendirmenin verilen ad erişilebilir diğer ad gelen Vars karşıt olarak (belirli bir ad enterne Vars . clojure.core
ns-publics
- ns-interns
gibi ama kapsamaktadır sadece özel olmayan Vars
ns-imports
-. ns-map
gibi ama sadece girişleri wh içerir ose değerleri Java sınıflarına karşılık gelir.
da diğer ad gelen Vars atıfta bulunulduğunda kestirme diğer adlar olarak kullanılabilir sembolleri listeler ns-aliases
yoktur; Örneğin. (require '[clojure.contrib.math :as math])
, ns-aliases
numaralı telefonu arayarak math
(sembol) anahtarını içeren bir giriş içerecektir, bu değer gerçek ad alanı clojure.contrib.math
olacaktır. Bu eşleme, ns-map
tarafından döndürülen haritaya dahil değildir.
Bu işlevlerin ve "doc" işlevlerinin kullanılabilirliği, eski kitaplıklar ve diğer paketler için belgelerin sağlanmasının neden çok yüksek bir önceliğe sahip olmadığının bir sebebi midir? –