ट्रैक
/
Gleam
Gleam
/
अभ्यास
/
वाइन तहखाना
वाइन तहखाना

वाइन तहखाना

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

परिचय

लेबल वाले आर्गुमेंट

कभी-कभी किसी फंक्शन में बहुत सारे आर्गुमेंट हो जाते हैं, और तब यह याद रखना मुश्किल हो जाता है कि उन्हें किस क्रम में देना है। कोड पढ़ने में आसानी हो, इसके लिए Gleam में आर्गुमेंट के साथ एक नाम का लेबल लगाया जा सकता है।

किसी आर्गुमेंट पर लेबल लगाने के लिए आर्गुमेंट के नाम से पहले लेबल का नाम लिखिए और दोनों के बीच एक स्पेस छोड़िए।

pub fn replace(
  in string: String,
  each target: String,
  with replacement: String
) -> String {
  // ...
}

लेबल वाले आर्गुमेंट लेने वाले फंक्शन को कॉल करते समय आर्गुमेंट किसी भी क्रम में दिए जा सकते हैं। replace को कॉल करने के ये सारे तरीके एक जैसे हैं:

replace(in: "🍔🍔🍔", each: "🍔", with: "🍕")

replace(each: "🍔", in: "🍔🍔🍔", with: "🍕")

replace(with: "🍕", each: "🍔", in: "🍔🍔🍔")

लेबल लगाना हमेशा ज़रूरी नहीं होता। किसी फंक्शन में लेबल वाले आर्गुमेंट हों, तब भी उसे बिना लेबल के कॉल किया जा सकता है।

replace("🍔🍔🍔", "🍔", "🍕")

निर्देश

आप एक बढ़िया रेस्टोरेंट के मैनेजर हैं, जिसमें एक बड़ा वाइन सेलर है। आपके बहुत से ग्राहक वाइन के बड़े शौकीन हैं और उनकी पसंद बहुत खास होती है। किसी एक ग्राहक के लिए सही वाइन की बोतल ढूँढना आसान काम नहीं है।

तकनीक की अच्छी समझ रखने वाले रेस्टोरेंट मालिक होने के नाते आपने वाइन चुनने की प्रक्रिया तेज़ करने का फैसला किया। इसके लिए आप एक ऐप बनाएँगे, जिससे मेहमान अपनी पसंद के मुताबिक आपकी वाइन छाँट सकें।

1. किसी दिए गए रंग की सारी वाइन निकालिए

वाइन की एक बोतल को एक कस्टम टाइप से दर्शाया जाता है, और वाइन एक ऐरे में रखी जाती हैं।

[
  Wine("Chardonnay", 2015, "Italy", White),
  Wine("Pinot grigio", 2017, "Germany", White),
  Wine("Pinot noir", 2016, "France", Red),
  Wine("Dornfelder", 2018, "Germany", Rose)
]

wines_of_color फंक्शन बनाइए। यह वाइन की एक ऐरे लेता है और दिए गए रंग की सारी वाइन लौटाता है।

wines_of_color(
  [
    Wine("Chardonnay", 2015, "Italy", White),
    Wine("Pinot grigio", 2017, "Germany", White),
    Wine("Pinot noir", 2016, "France", Red),
    Wine("Dornfelder", 2018, "Germany", Rose)
  ],
  color: White
)
// -> [
//   Wine("Chardonnay", 2015, "Italy", White),
//   Wine("Pinot grigio", 2017, "Germany", White),
// ]

2. किसी दिए गए देश की सारी वाइन की बोतलें निकालिए

wines_from_country फंक्शन बनाइए। यह वाइन की एक ऐरे लेता है और दिए गए देश की सारी वाइन लौटाता है।

wines_from_country(
  [
    Wine("Chardonnay", 2015, "Italy", White),
    Wine("Pinot grigio", 2017, "Germany", White),
    Wine("Pinot noir", 2016, "France", Red),
    Wine("Dornfelder", 2018, "Germany", Rose)
  ],
  country: "Germany"
)
// -> [
//   Wine("Dornfelder", 2018, "Germany", Rose)
// ]

3. किसी दिए गए देश में बोतलबंद, किसी दिए गए रंग की सारी वाइन निकालिए

filter फंक्शन बनाइए। यह वाइन की एक ऐरे, एक रंग और एक देश लेता है, और दिए गए देश में बोतलबंद उस रंग की सारी वाइन लौटाता है।

filter(
  [
    Wine("Chardonnay", 2015, "Italy", White),
    Wine("Pinot grigio", 2017, "Germany", White),
    Wine("Pinot noir", 2016, "France", Red),
    Wine("Dornfelder", 2018, "Germany", Rose)
  ],
  color: White
  country: "Italy"
)
// -> [
//   Wine("Chardonnay", 2015, "Italy", White),
// ]
GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Gleam Exercism

वाइन तहखाना शुरू करने के लिए तैयार हैं?

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