मुझे यह समझना था कि क्लोजर के *assert*
चर का उपयोग दावे को बंद करने के लिए किया जा सकता है, लेकिन ऐसा कुछ भी नहीं है जो मुझे लगता है।क्लोजर सम्मान `* assert *` variable कैसे बनाएं?
(binding [*assert* false]
(defn bar [a]
{:pre [(pos? a)]}
(assert (even? a))
[a]))
(bar 1)
!! execption
और फिर चर प्रत्यक्ष काम नहीं कर रहा है और भी स्थापित करने के लिए:
(defn foo [a]
{:pre [(pos? a)]}
(assert (even? a))
[a])
(binding [*assert* false]
(foo 1))
!! exception
(binding [*assert* false]
(foo -2))
!! exception
भी बाध्यकारी false
जब परिभाषित करने के लिए एक ही समस्या है।
*assert*
is true
(alter-var-root (var *assert*) not)
*assert*
is still true
और
(var-set (var *assert*) false)
*assert*
is still true
तो अब मैं समझ नहीं कर रहा हूँ कि क्या करना है। मैं उलझन में हूं।
धन्यवाद।
यह काम करता है। आप पर्यावरण चर के परीक्षण के द्वारा गतिशील रूप से इसे बंद कर सकते हैं। – Virmundi