[英]to_s method returning an unwanted “\”
我編寫了一個方法,該方法接受一個數字數組,向其添加數字2,然后返回一個字符串數組。
def add_two(array)
new_array = array.map{|x| "#{x} + 2 = #{x + 2}"}
new_array.to_s
end
以下是測試結果:
我的退貨中有一個多余的\\
。 我試圖找出\\
的來源。 有人可以指出我正確的方向嗎?
它來自最后的to_s
。 您正在將字符串數組(可能已經是您想要的)轉換為包含雙引號(必須用\\
進行轉義)的單個字符串。 要解決此問題,只需使用to_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"]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.