5

如何使用sendwith +=

a = 20; a.send "+=", 10
undefined method `+=' for 20:Fixnum

a = 20; a += 10
=> 30
4

1 回答 1

9

恐怕你不能。+=不是方法,而是语法糖。

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
于 2012-12-11T22:39:45.250 回答