Преобразование массива Ruby в строку

У меня есть массив ruby, например ['12', '34', '35', '231'] .

Я хочу преобразовать его в строку как ​​'12', '34', '35', '231' .

Как это сделать?

166
задан Arslan Ali 4 July 2015 в 11:50
поделиться

7 ответов

Я присоединюсь к веселью с:

['12','34','35','231'].join(', ')

РЕДАКТИРОВАТЬ:

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

Некоторая строковая интерполяция для добавления первой и последней одиночных кавычек: P

296
ответ дан 23 November 2019 в 21:01
поделиться
> a = ['12','34','35','231']
> a.map { |i| "'" + i.to_s + "'" }.join(",")
=> "'12','34','35','231'"
42
ответ дан 23 November 2019 в 21:01
поделиться
> puts "'"+['12','34','35','231']*"','"+"'"
'12','34','35','231'

> puts ['12','34','35','231'].inspect[1...-1].gsub('"',"'")
'12', '34', '35', '231'
5
ответ дан 23 November 2019 в 21:01
поделиться

array.inspect.inspect.gsub (/ \ [| \] /, "") может помочь

-5
ответ дан 23 November 2019 в 21:01
поделиться

И еще один вариант

a = ['12','34','35','231']
a.to_s.gsub(/\"/, '\'').gsub(/[\[\]]/, '')
4
ответ дан 23 November 2019 в 21:01
поделиться
irb(main):027:0> puts ['12','34','35','231'].inspect.to_s[1..-2].gsub('"', "'")
'12', '34', '35', '231'
=> nil
2
ответ дан 23 November 2019 в 21:01
поделиться
irb(main)> varA
=> {0=>["12", "34", "35", "231"]}
irb(main)> varA = Hash[*ex.collect{|a,b| [a,b.join(",")]}.flatten]
...
3
ответ дан 23 November 2019 в 21:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: