अजगर में, स्ट्रिंग प्रारूपण के लिए इस मुहावरा बहुत आमरूबी पाइथन के बराबर क्या है = "हैलो,% s।% S कहां है?" % ("जॉन", "मैरी") `
s = "hello, %s. Where is %s?" % ("John","Mary")
रूबी में बराबर क्या है?
अजगर में, स्ट्रिंग प्रारूपण के लिए इस मुहावरा बहुत आमरूबी पाइथन के बराबर क्या है = "हैलो,% s।% S कहां है?" % ("जॉन", "मैरी") `
s = "hello, %s. Where is %s?" % ("John","Mary")
रूबी में बराबर क्या है?
सबसे आसान तरीका है string interpolation है। आप सीधे अपने तारों में रूबी कोड के छोटे टुकड़े इंजेक्ट कर सकते हैं।
name1 = "John"
name2 = "Mary"
"hello, #{name1}. Where is #{name2}?"
आप रूबी में प्रारूप स्ट्रिंग भी कर सकते हैं।
"hello, %s. Where is %s?" % ["John", "Mary"]
स्क्वायर ब्रैकेट का उपयोग करना याद रखें। रूबी में टुपल्स नहीं होते हैं, केवल सरणी होते हैं, और वे स्क्वायर ब्रैकेट का उपयोग करते हैं।
मैं निश्चित रूप से पहले का उपयोग करता हूं, यह मुझे – David
पर अधिक पठनीय लगता है, पहला काम नहीं करेगा, # {} एक चर के लिए दिखता है, इसलिए इस मामले में यह जॉन वैरिएबल प्रिंट करेगा, स्ट्रिंग नहीं " जॉन "। दूसरा एक सही दिखता है। –
अच्छा बिंदु जेसन, मैं इसे और अधिक स्पष्ट करने के लिए इसे संपादित कर दूंगा। – AboutRuby
लगभग उसी तरह:
irb(main):003:0> "hello, %s. Where is %s?" % ["John","Mary"]
=> "hello, John. Where is Mary?"
रुबी में, स्क्वायर ब्रैकेट का मतलब एक ट्यूपल है? मैंने सोचा कि स्क्वायर ब्रैकेट सूचियां हैं ... – TIMEX
@TIMEX: यह प्रश्न मदद करेगा: http://stackoverflow.com/questions/525957/tuples-in-ruby –
रुबी में टुपल्स नहीं हैं (कम से कम भाषा में जाली नहीं)। हाँ, यह एक सरणी है (पायथन में "सूची" वास्तव में सरणी कहा जाना चाहिए ...)। – delnan
असल में लगभग एक ही
s = "hello, %s. Where is %s?" % ["John","Mary"]
रूबी 1.9 में आप यह कर सकते हैं:
s = "hello, %{name1}. Where is %{name2} ?" % { :name1 => 'John', :name2 => 'Mary' }
संपादित करें: लापता जोड़ा ':' रों
: name1 : name2 नहीं? – masnun
मैंने * Idomatic रूबी * समकक्ष में संपादित किया - लेकिन अब मुझे लगता है कि स्वीकार्य उत्तर पहले से ही ऐसा करता है - 'संपादन' को फिर से हटा दिया गया है: -/ – toong
स्ट्रिंग% ऑपरेटर के साथ हैश का उपयोग करते समय, यदि मुख्य प्रतीक संदर्भित है प्रारूप स्ट्रिंग मौजूद नहीं है, आपको एक KeyError मिल जाएगा। – user1164178
कोई स्ट्रिंग संयोजन, केवल स्ट्रिंग स्वरूपण नहीं है। और Google कभी भी ऐसा कर सकता है जितना तेज़ हो सकता है ... मुझे यह पता लगाने में लगभग 20 सेकंड लग गए कि आप रूबी में बिल्कुल वही कर सकते हैं। – delnan
आप संगतता के लिए नहीं पूछ रहे हैं, आप फ़ॉर्मेटिंग/प्रतिस्थापन के लिए पूछ रहे हैं। आपको अपना प्रश्न बदलना चाहिए। वैसे, रूबी में, concatenation + या << ऑपरेटरों के साथ किया जाता है। – David