如何使用send
with +=
?
a = 20; a.send "+=", 10
undefined method `+=' for 20:Fixnum
a = 20; a += 10
=> 30
恐怕你不能。+=
不是方法,而是语法糖。
见http://www.ruby-doc.org/docs/ProgrammingRuby/html/tut_expressions.html
它说
与许多其他语言一样,Ruby 有一个语法快捷方式:a=a+2 可以写成 a+=2。
你能做的最好的事情是:
>> a = 20
=> 20
>> a = a.send "+", 10
=> 30
>> a
=> 30