From: Makoto Kishimoto Date: 2010-10-17T19:51:50+09:00 Subject: [ruby-dev:42402] [Ruby 1.9-Feature#3954][Open] Digest::Base に無引数の initialize を定義しませんか? Feature #3954: Digest::Base に無引数の initialize を定義しませんか? http://redmine.ruby-lang.org/issues/show/3954 起票者: Makoto Kishimoto ステータス: Open, 優先度: Low カテゴリ: ext, Target version: 1.9.x 背景 トランクでは r11154 より前、1.8 ブランチでは r11223 より前、リリースとしては 1.8.6 より前の Digest::(HashAlgorithm)#initialize は、ハッシュを取りたい 文字列(の先頭部分)を引数に取ることができる仕様でした。 そこに仕様の変更があり、それ以後は、SHA2 でハッシュの長さの引数を取る他は、 引数を取らなくなり、従来の、文字列を引数に指定していたスクリプトはエラーに なるようになりました。 その後、トランクでは r26135、1.8 ブランチでは r26136 で、Object#initialize が任意の引数を認めるように変更され( #2451 によれば Spec はそうなっている ということですが)その結果、Digest::(HashAlgorithm)#initialize の古い書き方を しているスクリプトがエラーにならず、しかも設定された文字列が無視されるため、 期待した結果にもならない、という状態になっています。 提案 以上を踏まえて提案なのですが、Digest に限り従来通りエラーになるように Digest::Base に無引数の initialize を定義しませんか? (1.9に登録しますが、1.8にもバックポートを希望します) ---------------------------------------- http://redmine.ruby-lang.org