<div dir="ltr">Yep, that explains it, concat might be a cleaner method to use for what that was doing. Code refactored, many thanks!</div><div class="gmail_extra"><br><br><div class="gmail_quote">On 1 July 2014 10:18, Matthew Rudy Jacobs <span dir="ltr"><<a href="mailto:matthewrudyjacobs@gmail.com" target="_blank">matthewrudyjacobs@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"><div class="gmail_extra"><div class="gmail_quote"><div class="">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><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>
</blockquote></div><br></div>