कोड को फंक्शन्स में व्यवस्थित करना

Elm:
कोड को फंक्शन्स में व्यवस्थित करना

कैसे करें:

यहाँ एक Elm कोड का टुकड़ा है जिसमें एक साधारण फ़ंक्शन है जो उपयोगकर्ता को अभिवादन करता है:

module Main exposing (..)

import Html exposing (text)

greetUser : String -> String
greetUser userName =
    "Hello, " ++ userName ++ "!"

main =
    text (greetUser "Casey")

इसे चलाएँ, और आपको आउटपुट मिलेगा: “Hello, Casey!”

अब, मान लीजिए आप और वैयक्तीकरण जोड़ना चाहते हैं। और फंक्शनलिटी को निकालें!

module Main exposing (..)

import Html exposing (text)

greetUser : String -> String -> String
greetUser greeting userName =
    greeting ++ ", " ++ userName ++ "!"

personalGreeting : String -> String
personalGreeting userName =
    greetUser "Howdy" userName

main =
    text (personalGreeting "Casey")

अब, जब आप इसे चलाएंगे: “Howdy, Casey!” जादू? नहीं, बस फ़ंक्शन्स अपना काम कर रहे हैं।

गहराई से जानकारी

पुराने दिनों में, कोड अक्सर एक लंबी श्रंखला के निर्देशों का होता था (स्पेगेटी कोड के बारे में सोचें)। इसे रखरखाव की दृष्टि से एक बुरा सपना था। फिर संरचित प्रोग्रामिंग आई, और उसके साथ, फ़ंक्शन्स। Elm, अपने फंक्शनल प्रोग्रामिंग पूर्वजों की तरह, संगठन के लिए फ़ंक्शन्स पर भारी निर्भरता रखता है।

आप फ़ंक्शन्स को नेस्ट कर सकते हैं, क्लोजर्स बना सकते हैं, या सरलता के लिए उन्हें शुद्ध रख सकते हैं। Elm दूसरे को प्रोत्साहित करता है: शुद्ध फ़ंक्शन्स जिनके इनपुट और आउटपुट अच्छी तरह से परिभाषित होते हैं, जिससे डीबगिंग और परीक्षण करने में आसानी होती है।

Elm फ़ंक्शन्स उच्च-क्रम के भी हो सकते हैं, अर्थात वे अन्य फ़ंक्शन्स को स्वीकार कर सकते हैं या वापस कर सकते हैं। यह संरचनात्मकता की एक दुनिया को खोलता है। हालाँकि, कुछ अन्य भाषाओं के विपरीत, Elm में फंक्शन ओवरलोडिंग नहीं होती; प्रत्येक फ़ंक्शन का एक अनूठा नाम होना चाहिए।

इसके अलावा, Elm एक मजबूत स्टैटिक टाइपिंग प्रणाली लगाता है जो सिर्फ टाइप्स की जांच नहीं करता बल्कि उन्हें समझता भी है, जिससे बेकार का कोड कम होता है।

अन्य भाषाओं में प्रक्रियात्मक या वस्तु-उन्मुख कोड संगठन की तुलना में, Elm का दृष्टिकोण सरलता और पूर्वानुमान लगाने योग्यता पर जोर देता है। Elm में वस्तुएँ या कक्षाएँ नहीं होतीं। आप कक्षाएँ और उदाहरणों के बजाय फ़ंक्शन्स और मॉड्यूल के साथ कोड को व्यवस्थित करते हैं।

यह भी देखें

अधिक जानकारी के लिए, इन संसाधनों को देखें:

  • फ़ंक्शन्स पर Elm की आधिकारिक गाइड: https://guide.elm-lang.org/core_language.html
  • अधिक जटिल फ़ंक्शन उदाहरणों के लिए Elm पैकेज डॉक्यूमेंटेशन: https://package.elm-lang.org/
  • Elm की टाइप प्रणाली के बारे में जानें, जो फ़ंक्शन संगठन के साथ अच्छे से मेल खाती है: https://elm-lang.org/docs/types