Ruby数组到字符串的转换

Sac*_*n R 166 ruby arrays string

我有像红宝石一样的数组['12','34','35','231'].

我想将它转换为类似的字符串'12','34','35','231'.

我怎样才能做到这一点?

cor*_*ded 297

我将加入以下乐趣:

['12','34','35','231'].join(', ')
Run Code Online (Sandbox Code Playgroud)

编辑:

"'#{['12','34','35','231'].join("', '")}'"
Run Code Online (Sandbox Code Playgroud)

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


Sha*_*ell 42

> a = ['12','34','35','231']
> a.map { |i| "'" + i.to_s + "'" }.join(",")
=> "'12','34','35','231'"
Run Code Online (Sandbox Code Playgroud)

  • 也许用'''#{i}'"代替. (6认同)

小智 31

试试这段代码 ['12','34','35','231']*","

会给你结果"12,34,35,231"

我希望这是你的结果,让我知道


小智 10

array.map{ |i|  %Q('#{i}') }.join(',')
Run Code Online (Sandbox Code Playgroud)


avi*_*hil 9

string_arr.map(&:inspect).join(',') # or other separator
Run Code Online (Sandbox Code Playgroud)


hir*_*lau 7

我发现这种方式可读和rubyish:

add_quotes =- > x{"'#{x}'"}

p  ['12','34','35','231'].map(&add_quotes).join(',') => "'12','34','35','231'"
Run Code Online (Sandbox Code Playgroud)


Joh*_*ooy 5

> puts "'"+['12','34','35','231']*"','"+"'"
'12','34','35','231'

> puts ['12','34','35','231'].inspect[1...-1].gsub('"',"'")
'12', '34', '35', '231'
Run Code Online (Sandbox Code Playgroud)