Actions
Feature #13025
closedString equality operator does not perform implicit conversion
Status:
Feedback
Assignee:
-
Target version:
-
Description
According to the documentation, String#== should perform implicit conversion of non-strings, but this is not happening.
class SomeClass
def initialize(value)
@value = value
end
def to_str
@value.to_s
end
end
"text" == SomeClass.new("text")
# => false (expected true)
Other operators work as expected:
"text" + SomeClass.new("text")
# => "texttext"
"text" <=> SomeClass.new("text")
# => 0
Updated by nobu (Nobuyoshi Nakada) over 8 years ago
- Tracker changed from Bug to Feature
- Description updated (diff)
- Status changed from Open to Feedback
What documentation do you refer?
The document of 2.3 says:
If
obj
is not an instance of String but responds toto_str
, then the
two strings are compared using case equalityObject#===
.
(the method to be called is wrong, though)
Do you suggest changing the fallback method?
Actions
Like0
Like0