[415] Re:クラスメソッドとクラス変数
投稿者:タイガー
2007/02/20 02:13:25
>うーん、私が狙ったのは、複数のpointオブジェクトから共通に参照できる
>ひとつのクラスフィールド、です。
>まあ、create_point_class()を複数回呼んでしまえば複数作れてしまいますが、
>それは利用者側の問題にしてよいのではないかと。
それだとprivateなインスタンス変数な気がします...。間違ってたらすいません。
但し、パフォーマンスはともかく、利用者側から見れば、
やりたいことは実現できますので現時点では十分かもしれません。
>あくまで「静的な」(ひとつしかない)データが、グローバル変数以外の方法で必要だ、
>ということであれば、Cのstatic指定したローカル変数のようなものを付けると
>いうのはひとつの手かもしれませんが。
staticのローカル変数でも実現可能ですね。どう設計するかですね。
あと、制御構造の抽象化としてiteratorのようなものを表現する場合、
Ruby(のeachメソッド)みたいにクロージャをメソッドに渡す形でサンプルを書いてみたのですが、
もっとうまいやり方がありますか?
あと、C#のforeachやJava5の拡張forのようなものを実装する予定はありますか?
function Array(arr_data) {
this = new_object();
this.arr_data = arr_data;
this.iterate = closure(c) {
for (i = 0; i < this.arr_data.size(); i = i + 1) {
c(this.arr_data[i]);
}
};
return this;
}
a = {1, 2, 3, 4, 5, 6, 7, 8};
c1 = closure(i) {
print("" + i + " ");
};
a1 = Array(a);
a1.iterate(c1);