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




string