Ruby,插入一个字符串数组

时间:2013-05-24 20:33:43

标签: ruby interpolation

当我插入一个字符串数组时,它包含引号'\“'的转义字符,我如何插入它没有引号?

string_array = ["a","b","c"]
p "#{string_array}"        # => "[\"a\", \"b\", \"c\"]"

2 个答案:

答案 0 :(得分:3)

使用p "#{string_array}"puts "#{string_array}".inspect

相同

请记住,因为p对象与puts object.inspect

相同

与(在您的情况下,您在字符串上调用p)相同:

puts string_array.to_s.inspect 

(每当有人要求某个数组成为一个字符串(要打印等等)时,总会调用to_s。

所以你实际上正在检查数组返回的字符串,而不是数组本身。

如果您只想打印[“a”,“b”,“c”],那么使用p string_array而不是p "#{string_array}"

的方式

如果要将数组中的所有字符串连接在一起,可以使用String#join来实现。例如。如果我想在每个值之间加一个逗号和空格,就像messick一样,我会使用:

puts string_array.join(", ")

这将输出:“a,b,c”

答案 1 :(得分:2)

您需要join数组元素。

["a","b","c"].join(', ')