2016-04-18 6 views
0

Ich habe ein Objekt, das ich gerne mit String vergleichen würde. Ich würde gerne wissen, welche Methode ich implementieren sollte, um die Konvertierung meines Objekts automatisch durchzuführen, wenn es als Argument für den Vergleichsoperator verwendet wird.Welche Methoden werden aufgerufen, wenn ich versuche, ein benutzerdefiniertes Objekt mit einer Zeichenfolge zu vergleichen?

Zum Beispiel:

line == '2 hello world' 

am linken mein Ziel und ich möchte es mit einigen Zeichenfolge vergleichen. Derzeit habe ich to_s auf mein Objekt implementiert, aber trotzdem bekomme ich falsch, auch wenn die enthaltene Zeichenfolge gleich ist, mit der ich vergleiche.

Vielen Dank im Voraus.

+0

Mögliches Duplikat [Was ist der richtige Weg ist Gleichheit in Ruby zu implementieren] (http://stackoverflow.com/questions/1931604/whats-the-right-way-to-implement-equality-in-ruby) –

Antwort

2

Sie müssen Ihre Klasse '== method überschreiben.

class MyClass 
    def ==(other) 
    # custom equal comparison logic here 
    # if you just need string comparison 
    to_s == other 
    end 
end 
Verwandte Themen