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 जानबूझकर "ट्रुथीनेस" जैसी किसी धारणा से बचती है, इसलिए शून्य वैल्यू, खाली स्ट्रिंग और खाली ऐरे false के बराबर नहीं होते।
एक आम और सीधी स्थिति यह है कि किसी शर्त के आधार पर दो वैल्यू में से एक चुननी होती है।
बहुत-सी भाषाओं की तरह Julia में भी टर्नरी ऑपरेटर है, जो इसे और संक्षिप्त बना देता है।
इसका सिंटैक्स conditional ? value_if_true : value_if_false है।
तो पिछला उदाहरण ऐसे लिखा जा सकता है:
n = n < 0 ? 0 : n
कंपाइलर को गोल ब्रैकेट की ज़रूरत नहीं होती, लेकिन इससे कोड पढ़ने में आसानी हो सकती है।
इस अभ्यास में आप एक कार फैक्ट्री की असेंबली लाइन के उत्पादन का विश्लेषण करने के लिए कोड लिखेंगे।
असेंबली लाइन की गति 0 (बंद) से 10 (अधिकतम) तक हो सकती है।
सबसे कम गति (1) पर हर घंटे 221 कारें बनती हैं।
गति के साथ उत्पादन रैखिक रूप से बढ़ता है।
इसलिए जब गति 4 हो, तो हर घंटे 4 * 221 = 884 कारें बननी चाहिए।
लेकिन तेज़ गति पर खराब कारें बनने की संभावना बढ़ जाती है, और ऐसी कारों को फिर हटाना पड़ता है।
आपके सामने तीन काम हैं। हर आवश्यक फंक्शन एक ही पूर्णांक पैरामीटर लेता है: असेंबली लाइन की गति।
success_rate() मेथड बनाइए। यह बताती है कि किसी दी गई गति पर कोई कार बिना किसी एरर के बनने की संभावना कितनी है।
यह तालिका दिखाती है कि गति सफलता दर को कैसे प्रभावित करती है:
0: 0% सफलता दर।1 से 4: 100% सफलता दर।5 से 8: 90% सफलता दर।9: 80% सफलता दर।10: 77% सफलता दर।julia> success_rate(10)
0.77
production_rate_per_hour() मेथड बनाइए। यह सफलता दर को ध्यान में रखते हुए बताती है कि असेंबली लाइन हर घंटे कितना उत्पादन करती है।
julia> production_rate_per_hour(6)
1193.4
ध्यान दीजिए कि लौटाई गई वैल्यू एक दशमलव संख्या होती है।
working_items_per_minute() मेथड बनाइए। यह बताती है कि हर मिनट कितनी काम करने वाली कारें बनती हैं:
julia> working_items_per_minute(6)
19
ध्यान दीजिए कि लौटाई गई वैल्यू एक पूर्णांक होती है: अधूरी कारें इसमें शामिल नहीं होतीं।
Exercism पर साइन अप कीजिए और Julia को 35 कॉन्सेप्ट128 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।