可能是一些面向对象的明智的我在这里不理解。
我有一个名为old_cube
的3d数组。我想应用修改此数组来获取new_cube
。
old_cube
:
[[[w, w], [w, w]],
[[o, o], [o, o]],
[[g, g], [g, g]],
[[r, r], [r, r]],
[[b, b], [b, b]],
[[y, y], [y, y]]]
代码:
char[][][] old_cube = state.cube;
char[][][] new_cube = old_cube.clone();
new_cube[0][0][0] = old_cube[0][1][0];
new_cube[0][0][1] = old_cube[0][0][0];
new_cube[0][1][0] = old_cube[0][1][1];
new_cube[0][1][1] = old_cube[0][0][1];
new_cube[1][0][0] = old_cube[2][0][0];
new_cube[1][0][1] = old_cube[2][0][1];
new_cube[2][0][0] = old_cube[3][0][0];
new_cube[2][0][1] = old_cube[3][0][1];
new_cube[3][0][0] = old_cube[4][0][0];
new_cube[3][0][1] = old_cube[4][0][1];
new_cube[4][0][0] = old_cube[1][0][0];
new_cube[4][0][1] = old_cube[1][0][1];
输出:
new_cube
[[[w, w], [w, w]],
[[g, g], [o, o]],
[[r, r], [g, g]],
[[b, b], [r, r]],
[[g, g], [b, b]],
[[y, y], [y, y]]]
预期:
new_cube
[[[w, w], [w, w]],
[[g, g], [o, o]],
[[r, r], [g, g]],
[[b, b], [r, r]],
[[o, o], [b, b]],
[[y, y], [y, y]]]
问题是我认为clone()
会解决的问题,但我一定做错了。