Gleam में फंक्शन pub fn सिंटैक्स से बनाए जाते हैं।
pub fn add(x: Int, y: Int) -> Int {
x + y
}
यह फंक्शन दो आर्गुमेंट लेता है, दोनों Int टाइप के, और Int टाइप की एक वैल्यू लौटाता है। Gleam में return कीवर्ड नहीं होता, फंक्शन के अंदर लिखे अंतिम एक्सप्रेशन की वैल्यू हमेशा अपने आप लौटा दी जाती है।
आर्गुमेंट के टाइप एनोटेशन और रिटर्न टाइप लिखना ज़रूरी नहीं है, और Gleam आपके कोड का पूरा टाइप चेक हमेशा करता है। आम तौर पर Gleam प्रोग्रामर स्पष्टता के लिए अपने फंक्शनों पर टाइप एनोटेशन लिखते हैं, लेकिन आप चाहें तो इन्हें छोड़ सकते हैं।
pub fn add(x, y) {
x + y
}
किसी फंक्शन को function_name(argument1, argument2) सिंटैक्स से कॉल किया जा सकता है।
pub fn double(x: Int) -> Int {
// Call the add function defined above
add(x, x)
}
Gleam में वेरिएबल let name = expression सिंटैक्स से बनाए जाते हैं।
pub fn main() {
let count = 1
}
वेरिएबल को टाइप एनोटेशन के साथ भी घोषित किया जा सकता है। फंक्शन के आर्गुमेंट की तरह ये भी वैकल्पिक हैं, हालाँकि संक्षिप्तता के लिए अधिकांश Gleam प्रोग्रामर वेरिएबल के टाइप एनोटेशन छोड़ देते हैं।
pub fn main() {
let count: Int = 1
}
Gleam में स्ट्रिंग डबल कोट्स के बीच लिखी जाती हैं।
pub fn greeting() {
"Hello, world!"
}
कमेंट की मदद से सोर्स कोड पढ़ रहे दूसरे डेवलपर के लिए नोट छोड़े जा सकते हैं। Gleam में कमेंट एक ही लाइन के होते हैं, जिनसे पहले // लगाया जाता है।
pub fn main() {
// This is a comment
let x = 1
}
इस अभ्यास में आप कुछ कोड लिखेंगे जो आपको अपनी पसंदीदा कुकबुक से एक शानदार लज़ान्या पकाने में मदद करेगा।
आपके पास पाँच काम हैं। ये सभी लज़ान्या पकाने में लगने वाले समय से जुड़े हैं।
ऐसा expected_minutes_in_oven फंक्शन बनाइए जो कोई आर्गुमेंट नहीं लेता और लौटाता है कि लज़ान्या को ओवन में कितने मिनट रहना चाहिए। कुकबुक के अनुसार, ओवन में लगने वाला अपेक्षित समय 40 मिनट है:
expected_minutes_in_oven()
// -> 40
ऐसा remaining_minutes_in_oven फंक्शन बनाइए जो आर्गुमेंट के रूप में वे वास्तविक मिनट लेता है जितनी देर लज़ान्या ओवन में रह चुकी है। यह फंक्शन पिछले काम में दिए गए ओवन के अपेक्षित समय के आधार पर लौटाता है कि लज़ान्या को ओवन में अभी कितने मिनट और रहना है।
remaining_minutes_in_oven(30)
// -> 10
ऐसा preparation_time_in_minutes फंक्शन बनाइए जो आर्गुमेंट के रूप में लज़ान्या में डाली गई परतों की संख्या लेता है और लौटाता है कि आपने लज़ान्या तैयार करने में कितने मिनट लगाए, यह मानते हुए कि हर परत तैयार करने में आपको 2 मिनट लगते हैं।
preparation_time_in_minutes(2)
// -> 4
ऐसा total_time_in_minutes फंक्शन बनाइए जो दो आर्गुमेंट लेता है: पहला आर्गुमेंट लज़ान्या में डाली गई परतों की संख्या है, और दूसरा आर्गुमेंट वे मिनट हैं जितनी देर लज़ान्या ओवन में रह चुकी है। इस फंक्शन को यह लौटाना चाहिए कि लज़ान्या पकाने में आपने कुल कितने मिनट काम किया। यह तैयारी में लगे मिनटों और उस पल तक लज़ान्या के ओवन में रहने के मिनटों का जोड़ है।
total_time_in_minutes(3, 10)
// -> 16
ऐसा alarm फंक्शन बनाइए जो कोई आर्गुमेंट नहीं लेता और एक संदेश लौटाता है जो बताता है कि लज़ान्या खाने के लिए तैयार है।
alarm()
// -> "Ding!"
Exercism पर साइन अप कीजिए और Gleam को 33 कॉन्सेप्ट122 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।