At Thu, 12 Jul 2001 02:56:14 +0900,
Yukihiro Matsumoto wrote:
> In message "[ruby-cvs] rough/ext/digest: Say hello again to OO, and good-bye to old fashioned excessive macros"
>     on 01/07/11, knu <cvs-admin / ruby-lang.org> writes:
> 
> |  Modified files:
> |    rough/ext/digest:
> |      digest.c
> |  Log:
> |    Say hello again to OO, and good-bye to old fashioned excessive macros
> |    of C.  Now all the Digest::ALGO classes are subclasses of Digest::Hash
> |    which is newly created to unify the duplicate code.
> 
> この変更には賛成ですが、Hashでない名前の方があとあと問題を起
> こしにくいと思いますよ。まあ、::Hashでアクセスできるんで、思
> いつかなければそのままでよいのですが。

 Digest::Hash は表では使わないからいいかなと楽観してしまったの
ですが、検討します。

- MD
- MDHash
- HashBase
- AbstractHash
- その他


 あと、 Digest::MD5 などの API は私はもう固めていいかなと思うの
ですが、「複数アルゴリズムをまとめて計算」というのも、少しやって
みたい気がしてきました。

 あくまで試案ですが、

	md = Digest.new(MD5, SHA1)

	md << str

	p md[MD5].digest
	p md[SHA1].digest

む、この場合だと、取り出されるオブジェクトは勝手に update されては
困るから、 freeze したい。。

-- 
                     /
                    /__  __            Akinori.org / MUSHA.org
                   / )  )  ) )  /     FreeBSD.org / Ruby-lang.org
Akinori MUSHA aka / (_ /  ( (__(  @ iDaemons.org / and.or.jp

"Freeze this moment a little bit longer, make each impression
  a little bit stronger..  Experience slips away -- Time stand still"