我有一个像['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

编辑:

"'#{['12','34','35','231'].join("', '")}'"
# => '12','34','35','231'

一些字符串插值,添加第一个和最后一个单引号:P

array.map{ |i|  %Q('#{i}') }.join(',')

你可以使用一些函数式编程方法,转换数据:

[“12”,“34”,“35”,“231”)。地图我{| | " #{我}”}. join (", ")

irb(main):027:0> puts ['12','34','35','231'].inspect.to_s[1..-2].gsub('"', "'")
'12', '34', '35', '231'
=> nil
irb(main)> varA
=> {0=>["12", "34", "35", "231"]}
irb(main)> varA = Hash[*ex.collect{|a,b| [a,b.join(",")]}.flatten]
...