[PC周辺] Ruby Digest::MD5.new (20070412)

なんだか,いつのまにか(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

全インデックス