当我插值一个字符串数组时,它会包含引号'\"'的转义字符,如何在不包含引号的情况下进行插值?
string_array = ["a","b","c"]
p "#{string_array}" # => "[\"a\", \"b\", \"c\"]"
string_array = ["a","b","c"]
p "#{string_array}" # => "[\"a\", \"b\", \"c\"]"
使用p "#{string_array}"
与puts "#{string_array}".inspect
相同。
记住,因为p
对象与puts
对象的inspect
方法相同。
也就是说,在你的情况下,你在一个字符串上调用了p
,其效果与以下代码相同:
puts string_array.to_s.inspect
p string_array
而不是p“#{string_array}”
puts string_array.join(", ")
["a","b","c"].join(', ')
to_s
替代?什么是“sans quotes”? - squiguyto_s
,所以他会得到相同的结果。 "Sans quotes" 意味着没有引号。 - Nick Messick