伊東勝利
cut-s****@timed*****
2006年 6月 21日 (水) 10:20:02 JST
あ、すみません。言葉足らずかも。 baseクラスを継承したクラスには個別にさまざまなスロットが用意されます。 これらのスロットのどれでもいいんですが、更新されたときにmtimeの更新処理を 自動でやるようにフックできないかなーってことだったんです。 あーpostしてからいつも引っかかる? もしかしてslot-set-using-accessorとかをbaseクラスに対して定義すればフック できるのかしらん。。。 KIMURA Shigenobu wrote: > slot-set! を使わずに、mtime-of みたいな名前で > setter を設定すればいいんだと思います。そうすれば、 > > (set! (mtime-of foo) hoge) > > とやったときに、mtime-of の setter が呼ばれる > (気がする。。。。 > > On Jun 20, 2006, at 8:08 PM, 伊東勝利 wrote: > > >> 伊東です。 >> >> CLOS関係で教えてください。 >> >> スロットの値を書き換えたら自動であるメソッドを起動させたいので >> すが、 >> どういう仕掛けにするのが常套なんでしょう。 >> >> 具体的に言うと、baseクラスを用意しますが、スロットとして >> ctime/mtimeを持 >> ちます。 >> ctimeはcreated timeなのでinit-formなりinit- >> thunkなりで初期化後変更なし。 >> mtimeはmodified timeなのでオブジェクトのスロットが何がし >> か更新されたら >> 常に変更したいと思います。 >> modifiedなので参照されただけでは変更しません。 >> >> >> 当然、slot-set!なりset!するところに毎回埋め込めば >> 出来ますが、以後コード >> を追加したり >> 変更していく過程で忘れそうなのでbaseに近い場所でやれない >> かなってことなん >> ですが。 >> >> _______________________________________________ >> Gauche-devel-jp mailing list >> Gauch****@lists***** >> http://lists.sourceforge.jp/mailman/listinfo/gauche-devel-jp >> > > _______________________________________________ > Gauche-devel-jp mailing list > Gauch****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/gauche-devel-jp > > >