""
Ruby 用双引号 ( ) 与.初始化新字符串的方式有什么区别String.new
?出于好奇和实验的目的,我覆盖了String#initialize
:
class String
def initialize
puts "I <3 bananas" # they're delicious!
end
end
我想弄清楚的是:为什么这两个例子不同?
# Calling the String class directly, I can declare banana love!
irb(main):054:0> String.new
I <3 bananas
=> ""
# Using double quotes, this string is not as tasty :(
irb(main):055:0> ""
=> ""
这对研究来说很烦人,因为每个谷歌结果似乎都集中在基本的 Ruby 语法上,而我在 Ruby 文档中找不到任何东西。