From: Akinori MUSHA Date: 2007-02-28T16:29:31+09:00 Subject: [ruby-list:43236] Re: Ruby 1.8.6 preview2 has been released At Wed, 28 Feb 2007 10:10:09 +0900, Masateru Yoshikawa wrote: > Ruby 1.8.6 preview2を試してみました。1.8.5 P12の動作の環境でインストール > は問題がありませんでしたが、MD5の挙動が以前のバージョンとは変わっていま > した。 > > [Ruby-1.8.5 P12バージョンの動作] > irb(main):001:0> require "digest/md5" > => true > irb(main):002:0> include Digest > => Object > irb(main):003:0> MD5.new("test").hexdigest > => "098f6bcd4621d373cade4e832627b4f6" > > [Ruby-1.8.6 Preview2バージョンの動作] > irb(main):001:0> require "digest/md5" > => true > irb(main):002:0> include Digest > => Object > irb(main):003:0> MD5.new("test").hexdigest > ArgumentError: wrong number of arguments (1 for 0) > from (irb):3:in `initialize' > from (irb):3:in `new' > from (irb):3 > from :0 > > Changelogから上記の修正を発見できなかったのですが、仕様が > かわったのでしょうか。  変わりました。10/25の ext/digest のエントリの "The constructor does no longer take an initial string to feed" のくだりです。  具体的には、 new("test") は new.update("test") と書き換える 必要があります。Digest 実装クラス一般で、コンストラクタの引数を ビット長などのハッシュパラメータに開放するための変更でした。  なお、 new("test").hexdigest は hexdigest("test") と書いた 方が簡潔です。(バージョンを問わず動きます)  [ruby-dev:30003] からのスレッドも参照。 http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/30003  1.8.5 との互換性に関する文書については現在準備中です。 -- / /__ __ Akinori.org / MUSHA.org / ) ) ) ) / FreeBSD.org / Ruby-lang.org Akinori MUSHA aka / (_ / ( (__( @ iDaemons.org / and.or.jp "Different eyes see different things, Different hearts beat on different strings -- But there are times for you and me when all such things agree"