6

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

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

2 回答 2

5

使用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_arraynotp "#{string_array}"

如果要将数组中的所有字符串连接在一起,则可以使用 String#join 来执行此操作。例如,如果我想在每个值之间放置一个逗号和一个空格,比如 messick,我会使用:

puts string_array.join(", ")

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

于 2013-05-24T20:41:32.013 回答
3

你需要join数组元素。

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

于 2013-05-24T20:36:16.147 回答