JavaScript (9) 2進行列の演算

2進行列の演算についても JavaScript で書きました。bmatrix01.js として公開します。
図8 BMatrix 0.1
【図8 BMatrix 0.1】
今回、2進行列を仕上げるにあたり、『JavaScript本格入門』を参考にしました。

この本を参考にして変更した点は2つあります。
ひとつは配列リテラルを使うようにしたことです。行列の初期値に1を与える要素番号を、前回までは ‘i, j’ のように文字列で指定していました。これを i と j に分解するため eval 関数を使っていたのですが、今回は配列リテラルを使い [i, j] のように記述することで、i は [0] 、j は [1] と配列のインデックスで参照できるようになりました。eval を使わない分、安定的でかつコードも短くできました。ちなみにリテラルは数字や引用符で囲んだ文字列のような値そのものの表記のことをいいます。
もうひとつは prototype にメソッドを追加するときに、ひとつずつ
BMatrix.prototype.clear = function() { … };
BMatrix.prototype.setValue = function(i, j, value) { … };

BMatrix.prototype.toTeX = function() { … };
と代入していくのではなく、
BMatrix.prototype = {
 clear : function() { … },
 setValue : function(i, j, value) { … },
 …
 toTeX : function() { … }
};
とひとまとめにしたことです。これで Java のクラスにメソッドを定義するときと似た記法になってきました。
ベクトル、行列とも定義できたので、これらを使い囲碁局面を表現していきたいと思います。
(つづく)

コメントを残す