|> ऑपरेटर को पाइप ऑपरेटर कहते हैं। इसका उपयोग कई फंक्शन कॉल को इस तरह एक के बाद एक जोड़ने के लिए किया जा सकता है कि पिछले फंक्शन कॉल से लौटाई गई वैल्यू अगले फंक्शन कॉल को दी जाती है।
"hello"
|> string.uppercase
|> string.append("?!")
// -> "HELLO?!"
ऊपर दिया गया कोड नीचे दिए गए कोड के बराबर है:
string.append(string.uppercase("hello"), "?!")
पाइप ऑपरेटर या तो वैल्यू को फंक्शन कॉल के पहले आर्गुमेंट के रूप में देता है, या नई कॉल के एकमात्र आर्गुमेंट के रूप में। यह चुनता है कि किस विकल्प में सही टाइप होगा।
100
|> function_that_takes_two_arguments(1)
// Is equivalent to
function_that_takes_two_arguments(100, 1)
100
|> function_that_returns_a_function(1)
// Is equivalent to
function_that_returns_a_function(1)(100)
कभी-कभी हम वैल्यू को किसी और स्थान पर देना चाहते हैं। ऐसे में _ प्लेसहोल्डर का उपयोग यह बताने के लिए किया जा सकता है कि वैल्यू कहाँ डाली जानी चाहिए।
100
|> some_function(1, _, 2)
इस अभ्यास में आप हाई स्कूल के प्रेमी जोड़ों को सोशल मीडिया पर अपना प्यार जताने में मदद करेंगे। इसके लिए आप उनके नाम के पहले अक्षरों से एक ASCII दिल बनाएँगे:
****** ******
** ** ** **
** ** ** **
** * **
** **
** J. K. + M. B. **
** **
** **
** **
** **
** **
** **
***
*
first_letter फंक्शन लिखिए। यह एक नाम लेता है और उसका पहला अक्षर लौटाता है। यह नाम से सारी अनावश्यक व्हाइटस्पेस हटा देता है।
first_letter("Jane")
// -> "J"
initial फंक्शन लिखिए। यह एक नाम लेता है और उसका पहला अक्षर लौटाता है। पहला अक्षर बड़े अक्षर में होता है और उसके बाद एक बिंदु लगा होता है। ध्यान रखिए कि आप पिछले चरण में बनाए गए first_letter को ही दोबारा इस्तेमाल करें।
initial("Robert")
// -> "R."
initials फंक्शन लिखिए। यह एक पूरा नाम लेता है, जिसमें पहला नाम और अंतिम नाम एक स्पेस से अलग किए होते हैं, और उनके इनिशियल लौटाता है। ध्यान रखिए कि आप पिछले चरण में बनाए गए initial को ही दोबारा इस्तेमाल करें।
initials("Lance Green")
// -> "L. G."
pair फंक्शन लिखिए। यह दो पूरे नाम लेता है और उनके इनिशियल एक ASCII दिल के अंदर लौटाता है। ध्यान रखिए कि आप पिछले चरण में बनाए गए initials को ही दोबारा इस्तेमाल करें।
pair("Blake Miller", "Riley Lewis")
// -> "
// ****** ******
// ** ** ** **
// ** ** ** **
// ** * **
// ** **
// ** B. M. + R. L. **
// ** **
// ** **
// ** **
// ** **
// ** **
// ** **
// ***
// *
// "
Exercism पर साइन अप कीजिए और Gleam को 33 कॉन्सेप्ट122 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।