Eu quero clonar uma matriz multidimensional @a
em uma matriz @b
.
Eu procedi da maneira mais intuitiva e criei o seguinte:
my @a = [0, 0, 0], [0, 0, 0], [0, 0, 0];
my @b = @a.clone;
@a[0][1] = 1;
@b[1][0] = 1;
say '@a : ' ~ @a.gist;
say '@b : ' ~ @b.gist;
e a impressão é:
@a : [[0 1 0] [1 0 0] [0 0 0]]
@b : [[0 1 0] [1 0 0] [0 0 0]]
Isso significa que as duas matrizes @a e @b estão ligadas?
Questões:
- Por que o array @a está vinculado ao array @b (qual é o objetivo do método clone nessa situação? Sabemos que o clone se comporta como pretendido para matrizes unidimensionais)
- Como posso realmente clonar @a a @b (multidimensional)?
- Qual é a maneira mais eficiente (tempo limitado) de fazer isso?