[Gauche-devel-jp] 辞書とイテレータ

アーカイブの一覧に戻る

Kimura Fuyuki fuyuk****@hadal*****
2003年 1月 19日 (日) 09:34:15 JST


At Sun, 19 Jan 2003 00:54:46 +0900,
KOGURO Naoki <naoki****@kogur*****> wrote:
> 
> hash-table-for-each から手続きを呼ぶときに、値の設定、削除を行なうクロー
> ジャを作って引数として渡すのはどうでしょうか。

そうそう、こういう感じのを考えていたんです。が、「これで本当に実装でき
るのか?」とか「コレクションフレームワークとのかかわりは?」とかいろい
ろ悩んでいるうちにわけがわからなくなってしまったのでした…

あと、for-each を拡張するような場合にはループの中断が call/cc 頼みになっ
てしまいますが、それでいいのかどうか、とか。

私が理想としているのは、コレクションの call-with-iterator のように、

「それさえ実装しておけばディクショナリとして動作できるような何か」

です(これがそもそも無理なのかも)。get, put!, exists?, delete! 等、いま 
hash-table が持っているようなメソッドをいちいち実装しなくてもすむよう
な。

この路線をやめるのであれば、

<dictionary> === <collection> + get, put!, delete!

でわりと簡単に解決するのですが。

-- 
木村 冬樹




Gauche-devel-jp メーリングリストの案内
アーカイブの一覧に戻る