ruby - स्ट्रिंग रूपांतरण करने के लिए रूबी सरणी
arrays string (9)
आप डेटा को बदलने, कुछ कार्यात्मक प्रोग्रामिंग दृष्टिकोण का उपयोग कर सकते हैं:
['12','34','35','231'].map{|i| "'#{i}'"}.join(",")
मेरे पास एक रूबी सरणी है ['12','34','35','231']
।
मैं इसे '12','34','35','231'
जैसी स्ट्रिंग में बदलना चाहता हूं।
मैं उसे कैसे कर सकता हूँ?
इस कोड को आजमाएं ['12','34','35','231']*","
आपको परिणाम देगा "12,34,35,231"
मुझे उम्मीद है कि यह नतीजा है, मुझे बताएं
मुझे इस तरह से पठनीय और रूबीशिप मिलती है:
add_quotes =- > x{"'#{x}'"}
p ['12','34','35','231'].map(&add_quotes).join(',') => "'12','34','35','231'"
मैं मज़े में शामिल हो जाऊंगा:
['12','34','35','231'].join(",")
संपादित करें:
"'#{['12','34','35','231'].join("','")}'"
पहले और आखिरी सिंगल कोट जोड़ने के लिए कुछ स्ट्रिंग इंटरपोलेशन: पी
array.inspect.inspect.gsub(/\[|\]/, "")
चाल कर सकता है
> a = ['12','34','35','231']
> a.map { |i| "'" + i.to_s + "'" }.join(",")
=> "'12','34','35','231'"
array.map{ |i| %Q('#{i}') }.join(',')
irb(main)> varA
=> {0=>["12", "34", "35", "231"]}
irb(main)> varA = Hash[*ex.collect{|a,b| [a,b.join(",")]}.flatten]
...
string_arr.map(&:inspect).join(',') # or other separator