1

重複の可能性:
Ruby での === と == の比較

これに関する詳細なドキュメントはまったく見つかりません。ドキュメントページが壊れています:

http://ruby-doc.org/core-1.9.3/String.html

正規表現のページでは、「ケース」という言葉が 2 つの異なる意味 (!) で使用されており、その意味が理解できません。

http://www.ruby-doc.org/core-1.9.3/Regexp.html#method-i-3D-3D-3D

そしてそれはRailsで使用されていました:

https://github.com/rails/rails/commit/3756a3fdfe8d339a53bf347487342f93fd9e1edb?utm_source=rubyweekly&utm_medium=email

4

1 に答える 1

2

===「ケース等価」演算子です。

Ruby では、3 つの等号 (Object#===) は「実質的には #== を呼び出すのと同じですが、通常は case ステートメントで意味のあるセマンティクスを提供するために子孫によってオーバーライドされます」。

http://andy-payne.com/2008/09/confusion-over-triple-equals/を参照してください。

于 2012-04-05T12:17:43.400 に答える