解决方法
Syntactic Sugar for Special Methods
好知道所有ruby的语法糖.
以下所有内容在Ruby中都是相同的.
2 + 3 #=> 5 2.+(3) #=> 5 2.+ 3 #=> 5
所以当你写2 3时,它在内部发生为2.(3)或2. 3
因为Ruby中的所有东西都是对象.这里2也是一个Fixnum对象.随着.我们正在调用对象2的方法,就是这样.
2.class #=> Fixnum 2.instance_of? Fixnum #=> true 2.respond_to? :+ #=> true
另一个例子如下:
"a" + "b" #=> "ab" "a".+"b" #=> "ab" "a".respond_to? :+ #=> true
respond_to返回true – 这是因为String类具有串联方法.作为String类’a’的对象可以通过将b作为参数传递给该方法来调用方法.