加入ruby数组中的值但保留其类型

时间:2013-07-17 12:49:49

标签: ruby

我有这样的数组:

a = [27624,
     22,
     33,
     "ema",
     "test",
     11,
     nil]

当我a.join(',')时,我得到一个带有值的bing字符串。我怎样才能获得相同的效果,但仅限于我的字符串以保留其类型。输出应如下所示:

"27624, 22, 33, 'ema', 'test', 11"

1 个答案:

答案 0 :(得分:5)

a.map{|e| e.is_a?(String) ? "'#{e}'" : e}.join(',')

或者:(这可能并不总是具有预期效果 - 特别是nil,以及此处未包含的其他类型)

a.map(&:inspect).join(',')