From: "NAKAMURA, Hiroshi" Date: 2010-03-16T15:39:36+09:00 Subject: [ruby-dev:40671] Re: [ruby-cvs:33954] Ruby:r26739 (trunk): * ext/openssl/ossl_digest.c (GetDigestPtr): Allow to pass the 2010/2/25 NAKAMURA, Hiroshi : >> 私の主眼は実装の共有にあるのですが、どのようなモジュール構成が >> いいと思いますか? > 1.2 update/reset/dup/to_s/inspect/==/sizeについては、ハッシュ化、署名について、可能 > だと思います。長いストリームデータを入力とし、比較的短いデータ(ストリーム扱いす > る必要のないもの)を取り出す、状態を持つ変換器用のフレームワークですね。 > > 1.3 ちなみにもう少し拡張してfinishを追加すると、暗号化、Zlib、CSV、Base64など、出 > 力も長いストリームな場合に対応できますが、話を広げすぎると混乱するのでやめておい > たほうがよいと思います(話題を絞る)。 http://jp.rubyist.net/magazine/?0029-1.9.2Preview にあった、Randomインスタンスのmarshalを見ていて思ったのですが、擬似乱数生成器に ついても、同じような扱いができるかもしれません。擬似乱数生成器をdupしたり、比較し たりしたい人が、どのくらい居るかわかりませんが。。。 ただ、私もよい名前・実装イメージがありませんし、他にアイデアもでないとなると(もち ろん今後knuさんから出てくる可能性はありますが)、この実装/インタフェースの共有 は、あまり筋のよい方向ではないのかな、と思っています。 実装の再利用については手詰まりかもしれませんが、digest/hmacの削除は別にしても、 とりあえずhmacフィーチャ(lib/hmac.rb)は追加したいなあ。