如何将send
与+=
一起使用?
a = 20; a.send "+=", 10
undefined method `+=' for 20:Fixnum
a = 20; a += 10
=> 30
答案 0 :(得分:9)
我怕你不能。 +=
不是一种方法,而是一种语法糖。
请参阅http://www.ruby-doc.org/docs/ProgrammingRuby/html/tut_expressions.html
它说
与许多其他语言一样,Ruby有一个语法快捷方式:a = a + 2可以写成+ = 2.
你能做的最好的是:
>> a = 20
=> 20
>> a = a.send "+", 10
=> 30
>> a
=> 30