कई स्ट्रिंग्स को एक साथ मिलाना कुछ ऐसा है जो आपको रूबी में अक्सर करना पड़ता है।
लेकिन आप ऐसा कैसे कर सकते हैं?
खैर…
दो तरीके हैं :
- रूबी स्ट्रिंग संयोजन
- रूबी स्ट्रिंग इंटरपोलेशन
संयोजन इस तरह दिखता है :
a = "Nice to meet you" b = ", " c = "do you like blueberries?" a + b + c # "Nice to meet you, do you like blueberries?"
आप +
. का उपयोग कर सकते हैं एक स्ट्रिंग को दूसरे में जोड़ने के लिए ऑपरेटर।
इस मामले में, a + b + c
, एक नई स्ट्रिंग बनाता है।
बीटीडब्ल्यू, आपको यह काम करने के लिए चर का उपयोग करने की आवश्यकता नहीं है।
उदाहरण :
puts "I like" + " " + "chocolate" # I like chocolate
एक अन्य विकल्प +=
. का उपयोग करना है ऑपरेटर।
उदाहरण :
a = "" a += "test" a += "test" a += "test" a # "testtesttest"
हम एक खाली स्ट्रिंग से शुरू करते हैं और हम इसे जोड़कर एक बड़ा स्ट्रिंग बनाते हैं।
लेकिन इसमें एक समस्या है...
यह बहुत धीमा है!
समाधान आगे आ रहा है।
रूबी कॉनकैट विधि उदाहरण
आप रूबी का उपयोग कर सकते हैं concat
स्ट्रिंग्स को कुशलतापूर्वक मर्ज करने की विधि।
यहां बताया गया है :
str = "" str.concat("a") str.concat("a") str # "aa"
यह तेज़ है क्योंकि यह स्ट्रिंग को बदल देगा str
, एक नया बनाने के बजाय।
लेकिन यह उतना अच्छा नहीं है जितना +=
…
क्या कोई और तरीका है?
हाँ!
आप <<
. का उपयोग कर सकते हैं विधि, जो concat
. के लिए एक उपनाम है ।
नोट :रूबी 2.4 से शुरू होकर, concat
. के साथ एक छोटा सा अंतर है आप <<
. के साथ कई तर्क पारित कर सकते हैं आप एक बार में केवल एक ही पास कर सकते हैं।
उदाहरण :
str = "" str << "a" str << "a"
आप यह भी कर सकते हैं :
str = "" str << "a" << "a"
केवल एक ही समस्या बाकी है।
यदि आप एक स्ट्रिंग को वेरिएबल के साथ संयोजित करना चाहते हैं, लेकिन उनमें से एक वेरिएबल स्ट्रिंग नहीं है, तो आपको एक अप्रत्याशित परिणाम मिलेगा।
एक नज़र डालें :
"" + 1 # TypeError: no implicit conversion of Fixnum into String "" << 1 # "\x01"
समाधान क्या है?
सभी नई वस्तुओं को स्ट्रिंग में बदलने के लिए to_s विधि का उपयोग करें।
इसे पसंद करें :
"" + 1.to_s
बेशक, यह जल्दी खराब हो जाता है, इसलिए हमारे पास एक और टूल है जिसका आप उपयोग कर सकते हैं।
रूबी स्ट्रिंग इंटरपोलेशन का उपयोग कैसे करें
चरों को स्ट्रिंग में इंटरपोलेशन या मर्ज करना एक शक्तिशाली तकनीक है।
यह आपको एक स्ट्रिंग को "टेम्पलेट" करने की अनुमति देता है।
यहां एक उदाहरण दिया गया है :
age = 33 name = "Jesus" "Hello, my name is #{name} & I'm #{age} years old."
हम किसी भी name
. में प्लग इन कर सकते हैं &age
स्ट्रिंग से पहले उन्हें चर के रूप में सेट करके।
सबसे अच्छी बात?
रूबी इन मानों को आपके लिए स्ट्रिंग में बदलने का ध्यान रखती है।
इसलिए आपको to_s
. पर कॉल करने की आवश्यकता नहीं है !
अच्छी चीजें।
स्ट्रिंग्स तैयार करना
स्ट्रिंग को एक साथ जोड़ने का एक और तरीका है।
"स्ट्रिंग इंटरपोलेशन" के साथ वेरिएबल और छोटे स्ट्रिंग्स को कुछ नए में संयोजित करने के बजाय।
या अंत में <<
. के साथ संलग्न करना &concat
।
आप prepend
भी कर सकते हैं !
उदाहरण :
str = "" str.prepend("1") str.prepend("2") str.prepend("3") # "321"
अगर आप सोच रहे हैं कि एक append
है विधि, ठीक है, वहाँ नहीं है।
केवल सरणियों के लिए।
सारांश
आपने रूबी में स्ट्रिंग कॉन्सटेनेशन, एपेंडिंग, प्रीपेन्डिंग और इंटरपोलेशन के बारे में सीखा है, इससे आप कई स्ट्रिंग्स को एक साथ जोड़ सकते हैं।
कृपया इस लेख को साझा करें यदि आपको यह मददगार लगा
पढ़ने के लिए धन्यवाद।