आइए बात करते हैं कि आप रूबी में स्ट्रिंग्स को कैसे फॉर्मेट कर सकते हैं।
आप स्ट्रिंग को फॉर्मेट क्यों करना चाहेंगे? खैर, आप ऐसी चीजें करना चाह सकते हैं जैसे नंबर 10 से कम होने पर भी लीडिंग ज़ीरो हो (उदाहरण: 01, 02, 03...), या कुछ कंसोल आउटपुट को कॉलम में अच्छी तरह से फॉर्मेट किया गया हो।
अन्य भाषाओं में आप स्ट्रिंग्स को फॉर्मेट करने के लिए printf फ़ंक्शन का उपयोग कर सकते हैं, और यदि आपने कभी C का उपयोग किया है तो आप शायद इससे परिचित हैं। printf का उपयोग करने के लिए आपको फॉर्मेट स्पेसिफायर्स की एक सूची और वेरिएबल्स या मानों की एक सूची परिभाषित करनी होगी।
रूबी स्ट्रिंग फॉर्मेटिंग के साथ शुरुआत
जबकि sprintf रूबी में भी उपलब्ध है, इस पोस्ट में हम एक अधिक इडियोमैटिक तरीके का उपयोग करेंगे (किसी कारण से कम्युनिटी स्टाइल गाइड इस पर सहमत नहीं लगता, लेकिन मुझे लगता है कि यह ठीक है)।
यहां एक उदाहरण है:
time = 5 message = "Processing of the data has finished in %d seconds" % [time] puts message
आउटपुट => "Processing of the data has finished in 5 seconds"
इस उदाहरण में, %d फॉर्मेट स्पेसिफायर है (उपलब्ध स्पेसिफायर्स की सूची यहां है) और time वह वेरिएबल है जिसे हम फॉर्मेट करना चाहते हैं। एक %d फॉर्मेट हमें केवल पूर्ण संख्याएं देगा।
यदि हम फ्लोटिंग पॉइंट नंबर्स प्रदर्शित करना चाहते हैं तो हमें %f का उपयोग करना होगा। हम दशमलव स्थानों की संख्या को इस तरह निर्दिष्ट कर सकते हैं: %0.2f।
2 यहां इंगित करता है कि हम केवल दो दशमलव स्थान रखना चाहते हैं।
यहां एक उदाहरण है:
score = 78.5431 puts "The average is %0.2f" % [score]
आउटपुट => The average is 78.54
याद रखें कि संख्या को राउंड अप किया जाएगा। उदाहरण के लिए, यदि मैंने पिछले उदाहरण में 78.549 का उपयोग किया होता, तो यह 78.55 प्रिंट करता।
परिवर्तित करना और पैडिंग
आप एक दशमलव संख्या को परिवर्तित कर सकते हैं और इसे हेक्साडेसिमल के रूप में प्रिंट कर सकते हैं। %x फॉर्मेट का उपयोग करके:
puts "122 in HEX is %x" % [122]
आउटपुट => 122 in HEX is 7a
स्ट्रिंग को पैड करने के लिए:
इस फॉर्मेट का उपयोग करें एक संख्या को उतने 0 से पैड करने के लिए जितने आप चाहते हैं: %0<zeros की संख्या>d
puts "The number is %04d" % [20]
आउटपुट => The number is 0020
आप इस रूबी स्ट्रिंग फॉर्मेट ट्रिक का उपयोग टेक्स्ट के संरेखित कॉलम बनाने के लिए भी कर सकते हैं। 0 को डैश से बदलें यह प्रभाव प्राप्त करने के लिए:

वैकल्पिक रूप से, आप स्ट्रिंग क्लास से .ljust और .rjust विधियों का उपयोग करके वही काम कर सकते हैं।
उदाहरण:
names_with_ages = [["john", 20], ["peter", 30], ["david", 40], ["angel", 24]] names_with_ages.each { |name, age| puts name.ljust(10) + age.to_s } # निम्न तालिका प्रिंट करता है john 20 david 30 peter 40 angel 24
निष्कर्ष
जैसा कि आपने देखा रूबी और रेल्स स्ट्रिंग फॉर्मेटिंग वास्तव में आसान है, यह सब आपके लिए उपलब्ध विभिन्न फॉर्मेट स्पेसिफायर्स को समझने पर निर्भर करता है।
मुझे आशा है कि आपने आउटपुट फॉर्मेटिंग की दुनिया में इस तेज़ यात्रा का आनंद लिया! मेरे न्यूज़लेटर को सब्सक्राइब करना न भूलें ताकि मैं आपको और बढ़िया कंटेंट भेज सकूं 🙂