Gleam में स्ट्रिंग एक टेक्स्ट होती है जिसे बदला नहीं जा सकता और जिसे दोहरे कोट्स के अंदर लिखा जाता है। इनमें यूनिकोड अक्षर लिखे जा सकते हैं, और ये एक से ज़्यादा लाइनों में भी हो सकती हैं।
let greeting = "Hello, Joe! 📞"
let multi_line_string = "one
two
three"
स्ट्रिंग को <> ऑपरेटर की मदद से जोड़ा जा सकता है:
let name = "Mike"
"Hello, " <> name <> "!"
// -> "Hello, Mike!"
स्टैंडर्ड लाइब्रेरी का gleam/string मॉड्यूल स्ट्रिंग के साथ काम करने के लिए फंक्शन देता है।
case एक्सप्रेशन में स्ट्रिंग का मिलान किया जा सकता है:
pub fn on_an_excellent_adventure(name: String) -> Bool {
case name {
"Bill" -> True
"Ted" -> True
_ -> False
}
}
अगर आप स्ट्रिंग की शुरुआत का मिलान करना चाहते हैं और बाकी हिस्से को किसी वेरिएबल में असाइन करना चाहते हैं, तो आप <> ऑपरेटर पैटर्न इस्तेमाल कर सकते हैं:
pub fn profession(name: String) -> String {
case name {
"Dr " <> rest -> rest <> " is a doctor"
_ -> "I'm not sure what " <> name <> " does"
}
}
इस अभ्यास में आप लॉग लाइनों पर काम करेंगे।
हर लॉग लाइन एक स्ट्रिंग होती है, जिसे इस तरह लिखा जाता है: "[<LEVEL>]: <MESSAGE>"।
लॉग लेवल तीन तरह के होते हैं:
INFOWARNINGERRORआपके पास तीन काम हैं। हर काम एक लॉग लाइन लेता है और आपसे उसके साथ कुछ करने को कहता है।
लॉग लाइन का संदेश लौटाने के लिए message फंक्शन बनाइए:
message("[ERROR]: Invalid operation")
// -> "Invalid operation"
शुरू और अंत का कोई भी व्हाइटस्पेस हटा देना चाहिए:
message("[WARNING]: Disk almost full\r\n")
// -> "Disk almost full"
लॉग लाइन का लॉग लेवल लौटाने के लिए log_level फंक्शन बनाइए। यह लॉग लेवल छोटे अक्षरों में लौटाया जाना चाहिए:
log_level("[ERROR]: Invalid operation")
// -> "error"
लॉग लाइन का ढाँचा बदलने वाला reformat फंक्शन बनाइए, जिसमें संदेश पहले आता है और उसके बाद लॉग लेवल कोष्ठक में दिया जाता है:
reformat("[INFO]: Operation completed")
// -> "Operation completed (info)"
Exercism पर साइन अप कीजिए और Gleam को 33 कॉन्सेप्ट122 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।