İki parametre alan bir fonksiyon tanımlıyorum - harita ve bir anahtar. Anahtar dediğim zaman haritası parametre ayrışmadefn vs karşılık ayrışması ile ilgili olarak
(defn myfunc [{v k} k]
v)
den başvurulmaktadır: 10
let içindeBenzer şey::
(let [{v k} {:a 10} k :a] v)
(myfunc {:a 10} :a)
Şaşırtıcı sonuç beklendiği üretir
başarısız olur, çünkü k tanımlanmadı. ilk bölüm değerlendirildiğinde, an.
Soruma şudur:
... – aav
söyleyebilirim Eğer bu fonksiyonun vücudunda yıkımın gerçekleştiğini bilirse, bu şaşırtıcı değildir, dolayısıyla bir hata değildir. Ama bence bu gerçeğin uygun yerlerde daha iyi açıklanabilmesi gerekiyor - eğer doğru bir şekilde hatırlamıyorsam, Clojure neşesini hatırlıyorum, gerçekten buna kapılmıyor. – Paul
onun işe yaramayacağı ilginç (ama şaşırtıcı değil): ([myfunc] [{v k} {k: k1}] v) – aav