我写了一个方法,它接受一个数组,向它添加数字2,然后返回一个字符串数组。
def add_two(array)
new_array = array.map{|x| "#{x} + 2 = #{x + 2}"}
new_array.to_s
end
以下是测试结果:
我的回复中有一个不受欢迎的\
。我试图找出\
的来源。有人能指出我正确的方向吗?
答案 0 :(得分:5)
最终来自to_s
。您正在将一个字符串数组(可能已经是您想要的)转换为包含双引号的单个字符串(必须由\
转义)。要解决此问题,只需使用to_s
删除您的行。
答案 1 :(得分:1)
它没有添加额外的\
。 \
是转义字符,以转义"
,它是结果String的一部分。这里:
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"]