如何转换数组:
[["hello"], ["world"]]
要:
"hello", "world"
我尝试了array.join(',')
但这会回来:
"hello world"
我想要的是带有qoutes的字符串:""hello", "world""
。
完整性:
我正在尝试从数组中构建此查询。
DELETE FROM table WHERE column IN ("hello", "world");
答案 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\""