Arrays “返回不需要的”的方法\&引用;

Arrays “返回不需要的”的方法\&引用;,arrays,ruby,inspect,Arrays,Ruby,Inspect,我编写了一个方法,它接受一个数字数组,将数字2添加到其中,然后返回一个字符串数组 def add_two(array) new_array = array.map{|x| "#{x} + 2 = #{x + 2}"} new_array.to_s end 以下是测试结果: 我的报税表中有一个不需要的\。我试图找出\的来源。有人能给我指出正确的方向吗?这不是在增加额外的\s\是转义的转义字符,是结果字符串的一部分。此处: a = add_two(array) # => "[\"

我编写了一个方法,它接受一个数字数组,将数字2添加到其中,然后返回一个字符串数组

def add_two(array)
  new_array = array.map{|x| "#{x} + 2 =  #{x + 2}"}
  new_array.to_s
end
以下是测试结果:


我的报税表中有一个不需要的
\
。我试图找出
\
的来源。有人能给我指出正确的方向吗?

这不是在增加额外的
\
s
\
是转义的转义字符,是结果字符串的一部分。此处:

a = add_two(array)
# => "[\"1 + 2 =  3\", \"2 + 2 =  4\", \"3 + 2 =  5\"]"

puts a
# ["1 + 2 =  3", "2 + 2 =  4", "3 + 2 =  5"]
或直接:

puts add_two(array)
# ["1 + 2 =  3", "2 + 2 =  4", "3 + 2 =  5"]

它是从末尾的
。您正在将字符串数组(可能已经是您想要的)转换为包含双引号的单个字符串(必须由
\
转义)。要修复它,只需删除带有
的行即可。谢谢。但当我“放入add\u two(数组)”时“,我的回报是零。因为
put
打印输出并返回
nil
。我这么做只是为了向你解释发生了什么。简而言之,您不必担心结果中的\问题。您的实际代码运行良好,甚至不存在。我在输出中没有看到反斜杠,我严格尝试了您编写的内容,它为我提供了您正在搜索的内容。