[前][次][番号順一覧][スレッド一覧]

ruby-reference-manual:1648

From: Akinori MUSHA <redmine@r...>
Date: Thu, 13 Aug 2009 15:43:03 +0900
Subject: [ruby-reference-manual:1648] [Bug #1936] Digest::Base#== (実装上はDigest::Instance#==)

Bug #1936: Digest::Base#== (実装上はDigest::Instance#==)
http://redmine.ruby-lang.org/issues/show/1936

起票者: Akinori MUSHA
ステータス: Open, 優先度: Normal

1.8.6のときのNEWSから漏れていましたが、 Digest::Base#== は、文字列との比較において(16進表記でない)バイナリ列との比較をサポートしなくなっています。

従って、「self == str」の説明として
「与えられた文字列を digest 値、もしくは hexdigest 値と比較する。いずれの値と見るかは与えられた文字列の長さによって自動判別される。 」
は1.8.6以降では誤りで、単に
「与えられた文字列を digest 値と比較する」
です。

また、「self == md」の方も、1.8.6以降では比較対象としてクラスの異なるDigest::Instanceオブジェクトも受け取り、ベクタの状態でなくダイジェスト値で比較します。
従って、
「与えられたダイジェストオブジェクトと比較する。」
は
「与えられたダイジェストオブジェクトと digest 値を比較する。」
が適切です。


----------------------------------------
http://redmine.ruby-lang.org

--
ML: ruby-reference-manual@m...
使い方: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

->    1648 2009-08-13 08:43 [redmine@r...        ] [Bug #1936] Digest::Base#== (実装上はDigest::Instance#==)
      1649 2009-08-13 09:26 ┣[redmine@r...        ]                                       
      1741 2009-09-29 10:11 ┗[redmine@r...        ]