On Jul 19, 2014, at 18:50, Juanjo Conti <jjconti / gmail.com> wrote:

> Right, thanks. But why that is not happening with a +"B"?

Because you've already taught the interpreter that 'a' is a local =
variable, so it knows it isn't `a(+"B")`, but `a + "B"`:

>> pp RubyParser.new.parse "a =3D 'a'; a +B"
s(:block,
 s(:lasgn, :a, s(:str, "a")),
 s(:call, s(:lvar, :a), :+, s(:const, :B)))