5

どのように使用できsendます+=か?

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 に答える