使用`+ =`和`send`方法

时间:2012-12-11 22:34:23

标签: ruby send

如何将send+=一起使用?

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

a = 20; a += 10
=> 30

1 个答案:

答案 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