OcamlのArray.copyを二次元配列で使う時の注意点
背景
Ocamlで二次元配列を用いてライフゲームを制作した際、配列のコピーがうまくできず修正に時間がかかった。
説明
Array.copy関数は対象の配列のディープコピーを行う
しかし多次元配列を対象とした場合、内側の配列に対するディープコピーは行われない
内側の配列は元の配列の実体を参照したままになる
対処法
何かしらの手段で内側の配列にもディープコピーを行う(?)
今回は新しい配列を用意し、その配列の要素を置き換えていく形で対処した