Frage

Was sind ihre Unterschiede? Wenn ich aus einem Java -Hintergrund stammt, scheint es mir zu sein. Ist das richtig?

War es hilfreich?

Lösung

== Nur Maßnahmen, wenn zwei Objekte gleich sind, während <=> sollte -1 zurückgeben, wenn das erste Objekt kleiner ist, 0, wenn es gleich ist, und 1, wenn das erste Objekt größer ist.

Wenn Sie a definieren <=> Methode für Ihre Klasse erhalten alle anderen Vergleichsbetreiber auch definiert (==, <, >, usw).

Andere Tipps

Ich kann nicht sagen, dass ich nicht versuche, mich selbst zu bewerben, aber ich habe ein Tutorial in voller Länge über Vergleichs- und Gleichstellungsoperatoren in Ruby geschrieben: "Ruby Basics - Gleichstellungsoperatoren in Ruby"

Dort können Sie die Unterschiede zwischen allen Gleichstellungsoperatoren sehen, einschließlich <=>, == und === (und die Auswirkungen der Implementierung, einschließlich der Hash -Methode -Implementierung).

== ist wie Javas equals, während <=> ist wie compareTo. == Vergleicht die beiden Objekte und gibt zurück, ob sie gleichwertig sind. a <=> b Vergleicht die beiden Objekte und gibt 1 zurück, wenn a ist größer, 0, wenn sie gleich sind und -1 wenn b ist größer.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top