ट्रैक
/
Elm
Elm
/
अभ्यास
/
लूशियन की स्वादिष्ट लसानिया
लूशियन की स्वादिष्ट लसानिया

लूशियन की स्वादिष्ट लसानिया

सीखने का अभ्यास

परिचय

बुनियादी बातें 1

कॉन्स्टेंट और फंक्शन

एक कॉन्स्टेंट वैल्यू name = expression के रूप में परिभाषित की जाती है। ध्यान रखिए कि Elm में परिभाषाओं के अलावा बाकी सब कुछ एक्सप्रेशन होता है।

five = 5

six = 3 + 3

फंक्शन name parameters... = expression के रूप में बनाए जाते हैं, जहाँ पैरामीटर को केवल स्पेस से अलग किया जाता है।

add number1 number2 = number1 + number2

फंक्शन को कॉल करना भी एक एक्सप्रेशन ही होता है। इसके लिए फंक्शन का नाम लिखा जाता है और उसके हर पैरामीटर के लिए आर्गुमेंट पास किए जाते हैं, जिन्हें स्पेस से अलग किया जाता है, ठीक वैसे ही जैसे फंक्शन बनाते समय किया जाता है।

five = add 2 3

किसी एक्सप्रेशन के मूल्यांकन का क्रम तय करने के लिए गोल ब्रैकेट का उपयोग किया जा सकता है।

six = add 2 (1 * 4)

twelve = add 2 1 * 4

इंडेंटेशन / महत्वपूर्ण व्हाइटस्पेस

कोड की सीमाएँ तय करने के लिए Elm कर्ली ब्रैकेट, गोल ब्रैकेट या सेमीकोलन जैसे सिंटैक्स चिह्नों का उपयोग नहीं करता। इसके बजाय यह व्हाइटस्पेस और इंडेंटेशन का उपयोग करता है।

  • मॉड्यूल, इंपोर्ट और टॉप-लेवल फंक्शन की परिभाषाएँ सबसे बाएँ कॉलम से शुरू होनी चाहिए।
  • अगर किसी एक्सप्रेशन को कई लाइनों में बाँटा गया है, तो उस एक्सप्रेशन का जो कोड है उसे उसके नीचे कम से कम एक स्पेस के इंडेंटेशन के साथ लिखा जाना चाहिए।
  • एक्सप्रेशन के जो हिस्से एक साथ समूहित हैं, उन्हें समान संख्या में स्पेस से इंडेंट करना चाहिए।
-- A function split over multiple lines, so subsequent lines must be indented
add number1 number2 =
    number1 + number2

https://elmprogramming.com/indentation.html

मॉड्यूल

Elm में हर फाइल एक मॉड्यूल होती है, और उसमें बाकी सारे कोड से पहले module स्टेटमेंट होना ज़रूरी है। मॉड्यूल के नाम उसकी फाइल के नाम से मेल खाने चाहिए, यानी मॉड्यूल Calculator को Calculator.elm फाइल में होना चाहिए। किसी मॉड्यूल के अंदर परिभाषित हर चीज़ उस मॉड्यूल तक ही सीमित रहती है, और exposing में नाम लिखे बिना बाहर से उसका उपयोग नहीं किया जा सकता।

-- Define the Calculator module, and expose the `add` function
module Calculator exposing (add)

six = 3 + 3

add number1 number2 = number1 + number2
-- Define the Calculator module, and expose everything within: `six` and `add`
module Calculator exposing (..)

six = 3 + 3

add number1 number2 = number1 + number2

https://elm-lang.org/docs/syntax#modules

कमेंट

कमेंट Elm फाइल के अंदर लिखा वह टेक्स्ट होता है जिसे कोड के रूप में नहीं पढ़ा जाता। यह मुख्य रूप से आपके और दूसरे प्रोग्रामर के पढ़ने के लिए होता है। सिंगल-लाइन कमेंट के लिए दो डैश पर आधारित एक आसान सिंटैक्स है। {- और -} को खोलने और बंद करने वाले डिलिमिटर की जोड़ी के रूप में इस्तेमाल करके मल्टीलाइन कमेंट भी लिखे जा सकते हैं।

-- a single line comment
-- another single line comment

{- a multiline comment
   spawning multiple lines
-}

फॉर्मेटिंग

एक स्टाइल गाइड मौजूद है, और कोड को अपने आप फॉर्मेट करने के लिए elm-format का उपयोग किया जा सकता है।

निर्देश

इस अभ्यास में आप अपनी पसंदीदा कुकबुक से एक शानदार लज़ान्या पकाने में मदद करने के लिए कुछ कोड लिखेंगे।

आपके पास तीन कार्य हैं। ये सभी लज़ान्या पकाने में लगने वाले समय से जुड़े हैं।

1. ओवन में लगने वाले अपेक्षित समय को मिनटों में तय कीजिए

expectedMinutesInOven बनाइए, जो गणना करे कि लज़ान्या को ओवन में कितने मिनट रहना चाहिए। कुकबुक के अनुसार, ओवन में लगने वाला अपेक्षित समय 40 मिनट है:

expectedMinutesInOven
    --> 40

2. तैयारी का समय मिनटों में निकालिए

preparationTimeInMinutes बनाइए, जो लज़ान्या में परतों की संख्या को पैरामीटर के रूप में लेता है और लौटाता है कि लज़ान्या तैयार करने में कितने मिनट लगते हैं, यह मानते हुए कि हर परत को तैयार करने में 2 मिनट लगते हैं।

preparationTimeInMinutes 3
    --> 6

3. बीता हुआ समय मिनटों में निकालिए

elapsedTimeInMinutes फंक्शन बनाइए जो दो पैरामीटर लेता है: पहला पैरामीटर लज़ान्या में परतों की संख्या है, और दूसरा पैरामीटर वह संख्या है जो बताती है कि लज़ान्या कितने मिनट से ओवन में है। यह फंक्शन लौटाएगा कि आपने लज़ान्या पकाने में कितने मिनट काम किया है, जो तैयारी के समय (मिनटों में) और लज़ान्या के अब तक ओवन में बिताए समय (मिनटों में) का जोड़ है।

elapsedTimeInMinutes 3 20
    --> 26
GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Elm Exercism

लूशियन की स्वादिष्ट लसानिया शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और Elm को 28 कॉन्सेप्ट110 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।