なんだか,いつのまにか(ChangeLog と現象が発生した時期を考慮するとたぶん Tue Mar 6 19:03:42 2007 付近)
ruby -e 'require "digest/md5" ; p Digest::MD5.new("hoge")'
が NG になっていて(wrong number of arguments (1 for 0) (ArgumentError))
ruby -e 'require "digest/md5" ; p Digest::MD5.new.update("hoge")'
としなければならないらしい. マニュアル は更新されていないようだけど.
ちなみに今まで律儀に上記のように書いていたのであるが,
ruby -e 'require "md5" ; p MD5.md5("hoge")'
ruby -e 'require "md5" ; p MD5.new("hoge")'
ruby -e 'require "md5" ; p MD5.new.update("hoge")'
とかでもいいらしい(上記なら全て OK). md5.rb が require されるか digest/md5.so が require されるかの違い.
ちなみに,md5.rb には,
# just for compatibility; requiring "md5" is obsoleted
とか書いてあって,どれを使えばいいのか微妙...
Last-modified: Wed May 06 00:14:18 +0900 2009