0
Как переписать ruby Хэш # [] сравнить с?Как переписать ruby Хэш # [] сравнить?
class FooBar
def uid
"123"
end
alias_method :to_s, :uid
def ==(other)
self.uid == other.uid
end
alias_method :eql?, :==
end
class Foo < FooBar
end
class Bar < FooBar
end
Foo.new == Bar.new # returns true
Hash[[Foo.new,"succcess"]][Bar.new] # should return "succcess"
Hash[[Foo.new,"succcess"]].has_key? Bar.new # should return true
Я почти представил ответ о реализации ['Comparable'] (http://www.ruby-doc.org/core-1.9.3/Comparable.html), но я не уверен, что это то, что вы нужно/хотят. – zwippie
Привет, user2422869, спасибо за попытку улучшить вопрос, но будьте осторожны при редактировании, чтобы вы не случайно исправляли проблему, о которой вас спрашивали! Если вы можете определить проблему, стоящую перед аськой, отправьте ответ вместо этого - таким образом, вопрос + ответ может помочь кому-то другому совершить ту же ошибку в будущем. – Shog9