with-redefs
, bir dinamik sembolün binding
yapabildiği herşeyi yapabilir, bana sadece ^:dynamic
meta verilerine gereksinim duyma sınırlaması yoktur. Öyleyse diğerini ne zaman kullanmalıyım?Bir şeyi dinamik olarak tanımlamak için dinamik olarak tanımlamanız gereken nokta nedir?
cevap
yana ^:dynamic
meta tutmalarına, binding
da with-redefs
yapılan bağlar tüm parçacıkları görebilir ise, mevcut iplik görülür bağları oluşturur. Yani, with-redefs
çok künt bir araçtır ve aynı VM'de çalışan diğer kodları etkileme potansiyeline sahiptir. Test kodunun dışında hiç kullanılmamış with-redefs
'u da görmedim (en azından benim görüşüme göre).
- ^ile bağlama:
ben böylece ikisi arasındaki farkı özetlemek istiyorum dinamik Eğer kontrollü bir şekilde dinamik davranışının biraz tanıtmak için izin verir. Arayanların çağrı zincirini en üst düzeye çıkarmasına olanak tanıyan bir API'daki uzantı noktalarını tanımlamanın iyi bir yolu, çağrı yığınından (bazılarının kodları bile olmayabilir) parametrelerini açıkça iletmek zorunda kalmadan kodunuzun davranışını değiştirir.
- redefs ile herkes için ücretsizdir. Testte faydalıdır, örn. Test altındaki fonksiyon birçok bağımlılığa sahip olduğunda tüm alt sistemlerin alay edilmesi için.
birlikte (örneğin *my-dynamic-var*
) dinamik değişkenler isim earmuffs kullanmanın kongre ile ^:dynamic
olarak bir var bildirme, bu reklam kendinden belgeleyen yolu arayanlara olduğunu avantaj vardır senin kodun bir parçası olabilir dinamik olarak değiştirilmelidir. API'leri ve üretim kodu yazarken dinamik ve bağlayıcı:
: ^tercih ederim. - redefs ile testlerde kullanın ve kontrolünüz dışında ^:dynamic
bildirilmemiş olan varyasyonların davranışını dinamik olarak değiştirmek için son çare olarak (ve sonra dikkatli kullanın).
- 1. Her şeyi (*) dinamik olarak bir modülden içe aktarma
- 2. angularjs: dinamik olarak angularjs içinde dinamik olarak oluşturmam gereken arka uç tanımlı veri tiplerini btn-grp
- 3. Raporlama Servisleri - dinamik olarak
- 4. Bir işlev argümanı olarak dinamik
- 5. Hibernate/JPA'da sütun adlarını dinamik olarak tanımlamak mümkün mü?
- 6. Dinamik bir nesnede bir yöntemi dinamik olarak nasıl çağırabilirim?
- 7. JQuery validate, kural olarak dinamik olarak ekle
- 8. Bir modülü dinamik olarak imp
- 9. Dinamik olarak, kapsamları
- 10. Dinamik olarak NUnit
- 11. olsun değeri dinamik olarak
- 12. Dinamik olarak oluşturulmuş modalda
- 13. Delegeleri dinamik olarak
- 14. listitem - Kaldır - dinamik olarak
- 15. Dinamik olarak bir alt sorguyu
- 16. MathJax çalışmıyor Dinamik olarak
- 17. Dinamik olarak invokeMethod
- 18. Dinamik olarak yüklenen tip
- 19. Tabindex dinamik olarak ekleme
- 20. Dinamik veri projesinde dinamik veri projesini dinamik olarak değiştirin
- 21. Dinamik olarak JLabel'i değiştirme
- 22. Dinamik olarak, jQuery
- 23. Matlabda dinamik olarak sınıf oluşturma
- 24. Dinamik olarak TableRow oluşturma
- 25. JQuery Javascript dosyasını dinamik olarak yüklemek için
- 26. Dinamik Olarak Javascript'e ekle Nesne
- 27. Css dosyasını dinamik olarak kullanabilmek için
- 28. Flowtype: dinamik olarak uzanan sınıflar
- 29. Dinamik olarak içe aktarma dosyası
- 30. Spark Streaming - Dinamik olarak süz
İyi cevap. Bu kulaklık isimlendirme kuralını gördüm ve ne anlama geldiğini anlamadım. Bu adlandırma kuralını dinamik olan işlevlere mi, yoksa sadece ilkel değerlere mi kullanmalıyım? –
Genel API'de bir işlev için bir 'defn' üzerinde hiç bir zaman kulaklık görmedim. Dinamik olarak bağlı bir işlev için şu satırlarda bir şeyler yaparım: https://gist.github.com/alexhall/5286484 – Alex
Bu mantıklı. Clj-http projesine baktığımda da öyle değil. Dinamikleri defn üzerine koyar. –