2012-12-11 12 views
5

Come si può usare send con +=?Uso `+ =` con metodo `send`

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

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

E si sta cercando di realizzare ....? –

risposta

9

Ho paura che non puoi. += non è un metodo, ma piuttosto zucchero sintattico.

Vedi http://www.ruby-doc.org/docs/ProgrammingRuby/html/tut_expressions.html

Si dice

In comune con molte altre lingue, Ruby ha una scorciatoia sintattica: a = a + 2 può essere scritto come un + = 2.

migliore che puoi fare è:

>> a = 20 
=> 20 
>> a = a.send "+", 10 
=> 30 
>> a 
=> 30