के बारे में उलझन में मैंने रैकेट/सूची में count के साथ उपयोग के लिए true?
फ़ंक्शन को परिभाषित किया।रैकेट अनुबंध
(define (true? expr)
(and (boolean? expr) expr #t))
मैंने देखा मैं इसे संख्यात्मक तर्क प्रदान कर सकता है और मेरे समारोह खुशी से #f
लौट आते हैं।
> (true? 6)
#f
तो, मैंने सोचा कि मैं गैर बूलियन तर्क अनुबंध उल्लंघन करते हुए एक त्रुटि वापसी बनाने के लिए एक रैकेट अनुबंध का उपयोग कर पता लगाने जाएगा। अनुबंध मैं अभी भी रैकेट आरईपीएल में ऊपर के रूप में समान व्यवहार प्राप्त जोड़ने के बाद
(provide (contract-out
[true? (-> boolean? boolean?)]))
हालांकि,: तो मैं अपनी फ़ाइल के टोपे पर इस कोड डाल दिया। मुझे समझ में नहीं आता कि यह कैसे हो सकता है। मैं क्या खो रहा हूँ?
ध्यान दें कि आपके विशेष संदर्भ के लिए, आप 'मूल्य' का उपयोग करने में सक्षम हो सकते हैं, क्योंकि रैकेट' # f' को छोड़कर सब कुछ सच मानता है। उदा .: '(मूल्यों की गणना करें '(कितने # एफ सच # एफ # एफ चीजें # एफ))' – dyoo