एल्म - लूप

एल्म एक कार्यात्मक प्रोग्रामिंग भाषा है। एल्म पारंपरिक लूपिंग निर्माणों के विकल्प के रूप में पुनरावृत्ति की अवधारणा का उपयोग करता है।

यह अध्याय पुनरावृत्ति की अवधारणा पर चर्चा करता है।

प्रत्यावर्तन

कुछ कंप्यूटर प्रोग्रामिंग भाषाएं खुद को कॉल करने के लिए एक मॉड्यूल या फ़ंक्शन की अनुमति देती हैं। इस तकनीक को रिकर्सन के रूप में जाना जाता है।

चित्रण

इस कार्यक्रम में, हम देखेंगे कि पाँच बार हैलो प्रदर्शित करने के लिए पुनरावर्तन का उपयोग कैसे करें।

Step 1 − Create a file Loop.elm

मॉड्यूल लूप बनाएं और फ़ंक्शन को परिभाषित करें sayHello। Function sayHello इनपुट के रूप में पूर्णांक मान लेता है और एक स्ट्रिंग मान देता है।

module Loop exposing(..)
//function signature
sayHello:Int ->String
//function implementation
sayHello n =
   case n of
   1 -> "Hello:1 "
   _ -> "Hello:" ++ toString (n) ++ " " ++ sayHello(n-1)

फ़ंक्शन कहता हैहेल्लो जाँचता है कि क्या पैरामीटर पारित हुआ है 1. यदि पैरामीटर 1 है, तो फ़ंक्शन वापस आ जाएगा, अन्यथा यह एक स्ट्रिंग बना देगा हैलो और उसी फ़ंक्शन को कॉल करेगा।

Step 2 − Invoke sayHello from REPL

वर्तमान प्रोजेक्ट फ़ोल्डर (Loop.elm फ़ाइल का स्थान) से एल्म REPL खोलें।

//import the module Loop
> import Loop exposing(..)
//invoke the sayHello function with parameter value as 5
> sayHello 5
"Hello:5 Hello:4 Hello:3 Hello:2 Hello:1 Hello:0 " : String
>

चित्रण

निम्न उदाहरण पुनरावृत्ति का उपयोग करके n संख्याओं का योग प्रिंट करता है।

> sumOfNos n =\
| if n==0 then 0 \
| else (n) + sumOfNos (n-1)
<function> : number -> number1

एल्म आरईपीएल में, हमने एक फ़ंक्शन समऑफ़नोस बनाया जो एक इनपुट संख्या लेता है और 0 से उस संख्या तक सभी संख्याओं को जमा करता है।

उदाहरण के लिए, यदि हम 5 के रूप में इनपुट पास करते हैं, तो यह 1 + 2 + 3 + 4 + 5 का योग करेगा जो कि 15 है

> ssumOfNos 5
15 : number

कार्यक्रम का आउटपुट ऊपर दिखाया गया है।