多次元配列@a
を配列に複製したい@b
。
私は最も直感的な方法で進み、次のことを思いつきました:
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;
そして、プリントアウトは:
@a : [[0 1 0] [1 0 0] [0 0 0]]
@b : [[0 1 0] [1 0 0] [0 0 0]]
つまり、2つの配列@aと@bがバインドされているということですか。
質問:
- 配列@aが配列@bにバインドされている理由(この状況でのcloneメソッドの目的は何ですか?クローンは1次元配列に対して意図したとおりに動作することがわかっています)
- @aを@bに実際に複製するにはどうすればよいですか(多次元)?
- それを行う最も効率的な方法(時間制限付き)はどれですか?