Tôi muốn sao chép một mảng nhiều chiều @a
thành một mảng @b
.
Tôi đã tiến hành một cách trực quan nhất và tôi đã đưa ra những điều sau đây:
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;
và bản in ra là:
@a : [[0 1 0] [1 0 0] [0 0 0]]
@b : [[0 1 0] [1 0 0] [0 0 0]]
Điều đó có nghĩa là hai mảng @a và @b bị ràng buộc?
Câu hỏi:
- Tại sao mảng @a được liên kết với mảng @b (Mục đích của phương thức nhân bản trong tình huống này là gì? Chúng tôi biết rằng bản sao đó hoạt động như ý định cho mảng một chiều)
- Làm thế nào tôi thực sự có thể nhân bản @a thành @b (đa chiều)?
- Đó là cách hiệu quả nhất (giới hạn thời gian) để làm điều đó?