Bir ruby sınıfı için ==
uygulamak istiyorum. BenRuby'de "==" uygulaması yapılmalı mıdır?
def ==(o)
o.respond_to?(:id) && self.id == o.id
end
veya this makaleye göre
def ==(o)
o.is_a?(Foo) && self.id == o.id
end
, eski daha mantıklı olur gibi görünüyor yapabilirsiniz. Eğer eql?
'u uyguluyorsam, ikincisini yapardım. Bu doğru mu?
'==', * eql? 'Daha özel bir gereksinime sahip olsa bile türleri aşması gerektiği anlamına gelmez *. Ancak, gösterildiği gibi, daha yapısal temelli olması yararlı olabilir. –
@pst 'response_to?' Ile sorun mu var? –
Bu senaryoda 'id 'nedir? Object # object_id ile aynı mı yoksa bir aktif kayıt kimliği mi yoksa bir instance değişkenine bir erişim mi? –