O problema é o seguinte: n = [1, 2] a = n << n p a => [1, 2, [...]] a[2] => [1, 2, [...]]
ou seja, a
é um Array recursivo infinito.
Minha explicação é:
Quando o direito n
adiciona ( <<
) o esquerdo n
, o esquerdo n
muda para [1, 2, [1, 2]]
. Mas, neste momento, o direito n
, que é o mesmo com o outro (eles têm o mesmo object_id
), tornou-se ‘[1, 2, [1, 2]]’, também.
……
E repita o processo,a = [1, 2, [...]]