नाम बैज

नाम बैज

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

परिचय

Nil

Nil अंग्रेज़ी का एक शब्द है जिसका अर्थ है "कुछ नहीं" या "शून्य"। Elixir में nil एक खास वैल्यू है जिसका अर्थ है वैल्यू का अभाव।

# I do not have a favorite color
favorite_color = nil

दूसरी प्रोग्रामिंग भाषाओं में null या none वैल्यू की भूमिका ऐसी ही हो सकती है।

If

cond के अलावा Elixir मैक्रो if/2 भी देता है, जो तब काम आता है जब आपको सिर्फ एक शर्त जाँचनी हो।

if/2 एक शर्त और दो विकल्प लेता है। अगर शर्त ट्रुथी हो तो यह पहला विकल्प लौटाता है, और अगर शर्त फॉल्सी हो तो दूसरा विकल्प।

age = 15

if age >= 16 do
  "You are allowed to drink beer in Germany."
else
  "No beer for you!"
end

# => "No beer for you!"

if एक्सप्रेशन को एक ही लाइन में लिखना भी संभव है। शर्त के बाद लगे कॉमा पर ध्यान दीजिए।

if age > 16, do: "beer", else: "no beer"

यह सिंटैक्स बहुत छोटे एक्सप्रेशन के लिए काम का है, लेकिन अगर एक्सप्रेशन एक लाइन में न आए तो इससे बचना चाहिए।

ट्रुथी और फॉल्सी

Elixir में हर डेटा टाइप, जब किसी बूलियन संदर्भ में आता है (जैसे किसी if एक्सप्रेशन में), तो ट्रुथी या फॉल्सी वैल्यू देता है। false और nil को छोड़कर बाकी सारा डेटा ट्रुथी माना जाता है। खास तौर पर, खाली स्ट्रिंग, पूर्णांक 0, और खाली ऐरे, Elixir में सभी ट्रुथी माने जाते हैं।

निर्देश

इस अभ्यास में आप फैक्ट्री के कर्मचारियों के लिए नाम बैज छापने का कोड लिखेंगे। हर कर्मचारी के पास एक ID, नाम और विभाग का नाम होता है। कर्मचारी के बैज लेबल का प्रारूप इस तरह होता है: "[id] - name - DEPARTMENT".

1. कर्मचारी के लिए बैज छापिए

NameBadge.print/3 फंक्शन बनाइए। यह एक ID, नाम और विभाग लेता है। यह बैज लेबल लौटाता है, जिसमें विभाग का नाम बड़े अक्षरों में होता है।

NameBadge.print(67, "Katherine Williams", "Strategic Communication")
# => "[67] - Katherine Williams - STRATEGIC COMMUNICATION"

2. नए कर्मचारी के लिए बैज छापिए

कंप्यूटर सिस्टम की एक खास बात के कारण, नए कर्मचारियों के पास फैक्ट्री में काम शुरू करते समय कभी-कभी अभी ID नहीं होती। चूँकि बैज ज़रूरी होते हैं, उन्हें ID प्रीफिक्स के बिना एक अस्थायी बैज मिल जाता है।

NameBadge.print/3 फंक्शन को आगे बढ़ाइए। जब ID मौजूद न हो, तो यह उसके बिना बैज छापता है।

NameBadge.print(nil, "Robert Johnson", "Procurement")
# => "Robert Johnson - PROCUREMENT"

3. मालिक के लिए बैज छापिए

फैक्ट्री के मालिक को भी हर समय बैज पहनना पड़ता है। लेकिन मालिक का कोई विभाग नहीं होता। ऐसे में लेबल विभाग के नाम की जगह "OWNER" छापता है।

NameBadge.print/3 फंक्शन को आगे बढ़ाइए। जब विभाग मौजूद न हो, तो मान लीजिए कि यह बैज कंपनी के मालिक का है।

NameBadge.print(204, "Rachel Miller", nil)
# => "[204] - Rachel Miller - OWNER"

ध्यान दीजिए कि हो सकता है कि मालिक खुद भी एक नया कर्मचारी हो।

NameBadge.print(nil, "Rachel Miller", nil)
# => "Rachel Miller - OWNER"
GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Elixir Exercism

नाम बैज शुरू करने के लिए तैयार हैं?

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