योजना में संप्रदाय और स्लॉट का उपयोग करना
मैं "कार्यात्मक प्रोग्रामिंग के लिए एल्गोरिदम" की मदद से एफपी की शुरुआत सीखने की कोशिश कर रहा हूं। अध्याय 2 में लेखक खोजशब्दों sect
और <>
खोजशब्दों का परिचय देता है । पुस्तक में एक प्रक्रिया यह होगी:
(define add1 (sect + <> 1))
मैंने प्रक्रिया की गणना करने के लिए Repl.it का उपयोग किया। लेकिन दुख की बात है कि यह त्रुटि के बाद आता है:
Error: execute: unbound symbol: "<>" []
फिर मैंने रैकेट की कोशिश की, क्योंकि मैंने यहाँ पढ़ा । यह BiwaScheme का उपयोग करता है जो किसी भी योजना के मानक का पूरी तरह से समर्थन नहीं करता है। लेकिन तब मुझे एक और त्रुटि मिली:
sect: undefined;
cannot reference an identifier before its definition
तो क्या मैं कुछ गलत कर रहा हूं? या कोई अन्य संपादक / आईडीई है जिसे मुझे उपयोग करना चाहिए?
जवाब
मैं गलत था, दोनों sect
और <>
योजना कीवर्ड नहीं हैं। प्रस्तावना में यह वर्णित है कि लेखक (afp primitives)
प्राथमिक प्रक्रियाओं और वाक्यविन्यास एक्सटेंशन के लिए पुस्तकालय का उपयोग करता है । इस पुस्तकालय का उपयोग करके आप अपने निपटान में अतिरिक्त प्रक्रियाओं का एक गुच्छा प्राप्त करते हैं।
आप इसे यहाँ डाउनलोड कर सकते हैं ।
रैकेट एक add1फ़ंक्शन के साथ आता है ; अपने को परिभाषित करने की कोई जरूरत नहीं है।
और यह SRFI-26 का समर्थन करता है cut
, जो कि sect
दूसरे, अधिक सामान्य नाम से दिखता है:
> (require srfi/26)
> ((cut + 1 <>) 2)
3