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

アーカイブの一覧に戻る

KOGURO Naoki naoki****@kogur*****
2003年 1月 26日 (日) 17:24:37 JST


小黒です。

At Sun, 26 Jan 2003 13:21:57 +0900,
Kimura Fuyuki wrote:
> > > 1. call-with-iterator に与えられた keys から重複を取り除くのはけっこう
> > >    めんどう or 重たい処理かもしれない。
> > 
> > これは実装しませんでした。 call-with-iterator がここまで面倒を見る必要
> > はないと思います。
> 
> そうですね、労力からいっても実行効率からいっても割に合わない感じはしま
> す。ただ、完全性を求める Schemers が納得してくれるかどうか。;)

実装の手間というより使い方を考えると、重複を取り除かないほうがよいので
はないでしょうか。

例えば、物の値段を dictionary で管理したとします(キーが物の名前、値が
物の値段とします) 。ここで、りんごを2つ、みかんを1つ買ったときの値段を
計算したいとき、

(call-with-iterator dictionary 
                    (lambda (cursor total)
                      (receive (_ price) (cursor 'get)
                        (cursor 'next (+ total val))))
                    0
                    'apple 'apple 'orange)

のように書けたらいいと思うためです。

----------------------------------------------------
 小黒 直樹 (KOGURO, Naoki)
 E-mail: naoki****@kogur***** / kogur****@dd*****
----------------------------------------------------



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