शर

शर्तें में Julia

7 अभ्यास

शर्तें के बारे में

तुलना ऑपरेटर

Julia में तुलना ऑपरेटर कई अन्य भाषाओं जैसे ही हैं, हालाँकि गणित पसंद करने वालों के लिए इनमें कुछ अतिरिक्त विकल्प भी हैं।

बराबरी के लिए ऑपरेटर == (बराबर) और != या ≠ (बराबर नहीं) हैं।

txt = "abc"
txt == "abc"  # true
txt != "abc"  # false
txt ≠ "abc"  # false (synonym for !=)

इसके अलावा, बड़ा या छोटा होने की तुलना करने वाले अलग-अलग ऑपरेटर भी हैं।

1 < 3  # true
3 > 3  # false
3 <= 3  # true
3 ≤ 3  # true (synonym for <=)
4 >= 3  # true
4 ≥ 3  # true (synonym for >=)

जैसा कि Julia में अक्सर होता है, एक उपयुक्त एडिटर इन गणितीय चिह्नों का उपयोग आसान बना देता है। \ne, \le या \ge लिखिए और फिर TAB दबाइए, तो आपको ≠, ≤ या ≥ मिल जाएगा।

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

तुलना ऑपरेटरों को एक के बाद एक जोड़ा जा सकता है, जिससे साफ़ और संक्षिप्त सिंटैक्स लिखा जा सकता है:

n = 3
1 ≤ n ≤ 5  # true (n "between" two limits)

पिछला उदाहरण 1 ≤ n && n ≤ 5 का ही दूसरा रूप है।

if के साथ शाखाएँ बनाना

यह if स्टेटमेंट का पूरा रूप है:

if conditional1
    statements...
elseif conditional2
    statements...
else
    statements...
end

ब्रैकेट () या ब्रेसिज़ {} की ज़रूरत नहीं होती, और इंडेंटेशन "सिर्फ" कोड पढ़ने में आसानी के लिए है (लेकिन पढ़ने में आसानी बहुत ज़रूरी है!)।

elseif और else दोनों वैकल्पिक हैं, और एक से अधिक elseif ब्लॉक भी हो सकते हैं। लेकिन end लिखना ज़रूरी है।

if स्टेटमेंट को एक-दूसरे के अंदर भी रखा जा सकता है, हालाँकि पढ़ने में आसानी के लिए ब्रैकेट, इंडेंट और कमेंट का सोच-समझकर उपयोग करना अच्छा रहता है।

if स्टेटमेंट का सबसे छोटा रूप कुछ इस तरह होगा:

if n < 0
    n = 0
end

याद रखिए: शर्त के तौर पर सिर्फ वे ही एक्सप्रेशन इस्तेमाल हो सकते हैं जिनका परिणाम true या false होता है। Julia जानबूझकर "truthiness" जैसी किसी धारणा से बचता है, इसलिए शून्य वैल्यू, खाली स्ट्रिंग और खाली ऐरे false के बराबर नहीं होते।

टर्नरी ऑपरेटर

एक आम और सरल स्थिति यह है कि किसी शर्त के आधार पर दो वैल्यू में से एक चुनी जाए।

Julia में, कई अन्य भाषाओं की तरह, एक टर्नरी ऑपरेटर होता है जो इसे और संक्षिप्त बना देता है।

इसका सिंटैक्स conditional ? value_if_true : value_if_false है।

तो पिछले उदाहरण को ऐसे लिखा जा सकता है:

n = n < 0 ? 0 : n

कंपाइलर को ब्रैकेट की ज़रूरत नहीं होती, लेकिन इससे कोड पढ़ने में आसानी हो सकती है।

क्या Julia में match स्टेटमेंट होता है?

फिलहाल बेस भाषा में कोई match/case ढाँचा शामिल नहीं है।

सरल मामलों के लिए if..elseif..else का उपयोग करने की सलाह दी जाती है।

Scala जैसी जटिल पैटर्न मैचिंग के लिए Match.jl पैकेज काफी लोकप्रिय है। लेकिन, अधिकांश थर्ड-पार्टी पैकेजों की तरह, Exercism के टेस्ट रनर में Match उपलब्ध नहीं है।

GitHub के ज़रिए संपादित करें यह लिंक नई विंडो या टैब में खुलता है।

शर्तें सीखिए

अभ्यास लॉक है

शर्तें पर अभ्यास करने के लिए 5 और अभ्यास अनलॉक कीजिए