ぐる式 (貳) より引っ越し作業中.未完.

2005年9月15日木曜日

Squeak プロセス・ブラウザとかグルーピングとか

といっても Ned Konz さんの ProcessBrowser ではなくて自前のツールのお話.そもそも「プロセス」の語が指し示す意味からして違う.

とりあえず出来上がってから気付いたが,どちらも Model がスーパークラスで,上が二分割された三ペイン構成.カッコだけは似てる (笑).こちらはコンテクストやらメソッドを表示する必要がないので,プロセスの絵 (Form のインスタンス) や属性を表示する.いずれはコレを DBMS と繋げたいんだが,何がエエかな〜.

で,問題.

  | src copy |  src := AlignmentMorph rowPrototype.  src addMorph: RectangleMorph new.  src addMorph: EllipseMorph new.  copy := src copy.  ^ {copy . src}

この src と copy を「これら複数の独立したインスタンスを束ねて実は同じものと認識できる」ようにせよ.実はこんなに単純なもんじゃなくて, allMorphs すると 100 個ぐらいいるのが判る.複雑に入り組んだものなら,数倍にも膨れ上がる.

とりあえず,要素が組上げている構造が同じなら「同じもの」ということにして,ブラ下がっているのを隣接行列に突っ込みリスト化,これを文字列化して id を返すみたいなもんにしてみたんだが,もっとエエ方法がないかな〜.

インスタンス生成時に例えば oop とかをインスタンス変数に取っておく.コピー時にはちゃんとコピーされることを保証するってのが軽いんだけど,コピーされた方で構造が変えられた場合は新たに振り直す必要があるんだよな.

0 件のコメント:

コメントを投稿