<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 1 July 2014 17:16, Evgeny Shadchnev <span dir="ltr"><<a href="mailto:evgeny.shadchnev@gmail.com" target="_blank">evgeny.shadchnev@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">When you say foo += [], this means foo = foo + []. The first thing that Ruby sees is foo on the left hand side. Since it's an assignment, it implicitly creates a new local variable foo that's nil by default. When it comes to evaluating the right hand side, foo is a reference to this local variable, not your method.<div>



<br></div><div>I'm not 100% correct that this is exactly what's going on, so please correct me if I'm wrong.<br><div><br></div><div>Best,</div><div>Evgeny</div></div></div><div class="gmail_extra"><br></div></blockquote>

<div> </div><div>I was in the middle of writing the same thing.</div><div><br></div><div>And I agree on the reasoning. </div></div></div></div>