use
bunu yapardı, ancak geçerli ad alanında oluşturulan haritalama genel olarak görünmüyor.Başka bir isim alanına başvurabilir ve işlevlerini mevcut ns için herkese açık olarak gösterebilir miyim?
(ns my-ns-2
(:require [my-ns :as my]))
(defn my-fct-2
[]
(my/another-fct 456)) ; this doesn't work
ben another-ns
çünkü bir kütüphane bir veritabanına erişmek için bunu yapmak istiyorum:
(ns my-ns
(:use [another-ns :only (another-fct)]))
(defn my-fct
[]
(another-fct 123)) ; this works fine
Sonra bu gibi başka bir ad var: İşte elde etmek istediğim şey bir örnektir . Bu kütüphaneye yapılan tüm aramaları tek bir isim alanında (my-ns
) izole etmek istiyorum, bu şekilde tüm DB'ye bağımlı fonksiyonlar tek bir isim alanında izole edilecek ve gerekirse başka bir DB'ye geçiş yapmak daha kolay olacaktır.
Bu kitaplıktaki bazı işlevler benim için sorun değil, ancak diğerlerini de artırmak istiyorum. Okuma işlevlerinin iyi olduğunu söyleyeyim ancak yazma işlevlerini bazı doğrulamalarla artırmak istiyorum.
Şimdiye kadar gördüğüm tek yol, tüm eşlemeyi, büyütmediğim işlevler için bile my-ns
'a el ile kodlamaktır.
Güzel bitti! Kabul işaretini sana değiştirdim. Teşekkürler. – Damien
Hmm. Yararlı, ancak yalnızca işlevleri içeren ad alanlarıyla sınırlı gibi görünüyor: "Makro değerini alamıyor". –