使用引号将数组转换为字符串

时间:2014-05-14 09:13:27

标签: ruby

如何转换数组:

[["hello"], ["world"]]

要:

"hello", "world"

我尝试了array.join(',')

但这会回来:

"hello world"

我想要的是带有qoutes的字符串:""hello", "world""


完整性:

我正在尝试从数组中构建此查询。

DELETE FROM table WHERE column IN ("hello", "world");

2 个答案:

答案 0 :(得分:3)

尝试:

array.map{|s| "\"#{s}\""}.join(', ')

更新

使用结构[['a'],['b']执行:

array.map{|s| "\"#{s.first}\""}.join(', ')

答案 1 :(得分:3)

我这样做:

array.map { |a| a.first.inspect }.join(', ')
# => "\"hello\", \"world\""

更新:一些替代解决方案:

array.flatten.map(&:inspect).join(', ')
# => "\"hello\", \"world\""

使用Ruby Facets中的String#quote方法:

require 'facets/string/quote'
array.flatten.map(&:quote).join(', ')
# => "\"hello\", \"world\""