ट्रैक
/
Gleam
Gleam
/
सिलेबस
/
जेनेरिक
जे

जेनेरिक में Gleam

10 अभ्यास

जेनेरिक के बारे में

कोई टाइप तब जेनेरिक टाइप होता है जब वह एक टाइप पैरामीटर का इस्तेमाल करते हुए किसी भी टाइप की वैल्यू रख सकता है।

उदाहरण के लिए, इस Box टाइप में a टाइप पैरामीटर है (जो छोटे अक्षरों में लिखा जाता है)।

pub type Box(a) {
  Box(a)
}

a टाइप पैरामीटर किसी भी टाइप के लिए एक प्लेसहोल्डर है, इसलिए Box को स्ट्रिंग, इंट या किसी भी दूसरे टाइप के साथ इस्तेमाल किया जा सकता है।

Box("Hello, Joe!") // The type is Box(String)

Box(42) // The type is Box(Int)

किसी टाइप में एक से अधिक टाइप पैरामीटर भी हो सकते हैं; इसके लिए उन्हें कॉमा से अलग किया जाता है।

pub type Pair(a, b) {
  Pair(a, b)
}

जेनेरिक फंक्शन

टाइप पैरामीटर फंक्शन के आर्गुमेंट में भी इस्तेमाल किए जा सकते हैं।

यह फंक्शन a टाइप की एक वैल्यू लेता है और ऐसे फंक्शन को दो बार कॉल करता है जो एक a लेता है और एक b लौटाता है।

pub fn twice(value: a, f: fn(a) -> b) -> b {
  f(value)
  f(value)
}
// The type is fn(String, fn(String) -> Nil) -> Nil
twice("Hello, Joe!", io.println)
GitHub के ज़रिए संपादित करें यह लिंक नई विंडो या टैब में खुलता है।

जेनेरिक सीखिए

अभ्यास लॉक है

जेनेरिक पर अभ्यास करने के लिए 3 और अभ्यास अनलॉक कीजिए