>>502
一口で言えば、代入演算子(参照先変更)と<<演算子(参照先は変更しない)の違い

>a = b = 1

a と b が 1 という同一のオブジェクトを参照するようにする

>a = 3

a が 3 というオブジェクトを参照するよう変更する

>a = b = []

a と b が新規の、同一の空配列オブジェクトを参照するように変更する

>a << 3

a の参照先オブジェクト(b と同じ配列)に対して << メソッドを、3 を引数として呼び出す
その動作として、a の参照先オブジェクト(b と同じ配列)に 3 という要素が追加される

と言うわけで、勝手には入ってない