title: Weird ruby string concat behaviour
body: <p>I have tested following code:</p>
  
  <pre><code>irb(main):038:0&gt; a=".";b="10"
  =&gt; "10"
  irb(main):039:0&gt; a+=b
  =&gt; ".10"
  irb(main):040:0&gt; a&lt;&lt;b
  =&gt; ".1010"
  </code></pre>
  
  <p>So far so good. Now lets repeat this process:</p>
  
  <pre><code>irb(main):042:0&gt; a+=b+="4"
  =&gt; ".104"
  irb(main):044:0&gt; a
  =&gt; ".104"
  irb(main):043:0&gt; b
  =&gt; "104"
  </code></pre>
  
  <p>Good... now replace += with &lt;&lt;</p>
  
  <pre><code>irb(main):045:0&gt; a=".";b="10"
  =&gt; "10"
  irb(main):046:0&gt; a&lt;&lt;b&lt;&lt;"4"
  =&gt; ".104"
  irb(main):047:0&gt; a
  =&gt; ".104"
  irb(main):048:0&gt; b
  =&gt; "10"
  </code></pre>
  
  <p>If &lt;&lt; stands for += then why b is still 10 instead of 104?</p>