In Ruby können wir anhand verschiedener Methoden String -Vergleichsvorgänge durchführen, wie in diesem Tutorial erläutert.
Gleichstellungsoperator
Zwei gleiche Zeichen bezeichnen den Gleichstellungsoperator in Ruby. Es gibt wahr zurück, wenn beide Objekte gleich und falsch sind, wenn anders.
var1 = "Hallo"Der Gleichstellungsbetreiber kümmert sich nicht darum, solange beide angegebenen Objekte gültige Zeichenfolgen sind
var1 = 'Hallo'Wenn die Zeichenfolgen nicht gleich sind, gibt der Gleichstellungsoperator false zurück.
var1 = "Hallo"Sie können mehr tun als String -Variablen zu vergleichen. Sie können auch einen String -Literal vergleichen wie:
"Hallo" == "Zero"Es ist gut zu beachten, dass eine numerische Zeichenfolge nicht direkt mit einem Ganzzahlwert vergleichbar ist.
2 == "2"Nicht gleich
Der nicht gleiche Operator, bezeichnet als als !=, gibt true zurück, wenn die verglichenen Werte nicht gleich und falsch sind, wenn sie gleich sind. Es fungiert als Negation des Gleichstellungsoperators.
"Hallo" != "Hallo"Wenn die verglichenen Werte nicht gleich sind, gibt sie wahr wie:
"Hallo" != "Hallo"EQL? Methode
Ruby hat eine integrierte String-Methode namens EQL?. Die EQL? Methodenprüfungen, wenn die Werte sowohl in Länge als auch in Inhalt gleich sind. Die EQL? Die Methode gibt true zurück, wenn die verglichenen Werte gleich sind oder nicht.
Beispiele:
var1 = "Hallo"In diesem Fall sind beide Saiten in Länge und Inhalt gleich.
Die EQL? Die Methode ist Fallempfindlichkeit und kehrt falsch zurück, wenn das Gehäuse nicht gleich ist
var1 = "Hallo"Im Gegensatz zu dem Gleichstellungsoperator, der true zurückgibt, wenn Sie eine Ganzzahl und Float, den EQL? Die Methode gibt falsch als:
10 == 10.0Gleich? Methode
Im Gegensatz zu dem Gleichstellungsoperator, der überprüft, ob beide Werte gleich sind, sind die gleichen? Methode prüft, ob beide Operanden auf dasselbe Objekt verweisen.
var1 = "Hallo"Sie werden feststellen, dass die Methode false zurückgibt, da die Werte nicht auf das gleiche Objekt verweisen. Sie können dies mit Object_id als:
var1.Objekt IdentifikationEin Beispiel für beide Operanden, die auf dasselbe Objekt hinweisen, ist wie gezeigt:
var2 = var1Raumschiff -Notation
Ruby bietet auch eine Möglichkeit, Strings zu vergleichen, die als Raumschiffnotation bekannt sind. Wir drücken dies mit einem weniger als Zeichen, einem gleichen Zeichen und einem größeren als einem Bediener aus.
Die Methode gibt 0 zurück, wenn die Zeichenfolgen -1 übereinstimmen, wenn der linke Operand geringer ist als der rechte Operand, und 1, wenn der rechte Operand größer ist als der linke Operand.
"Hallo Hallo"CASECMP -Methode
Um einen unempfindlichen Vergleich durch den Fall durchzuführen, können Sie die CASECMP -Methode verwenden. Es hat ähnliche Rückgabewerte, um Spaceship -Notation zu erhalten.
"Hallo".CASECMP "Hallo"Die Methode ignoriert die Fallempfindlichkeit und vergleicht nur den Inhalt der Zeichenfolgen.
7: Bereichsvergleich
Um zu vergleichen, ob sich ein Zeichen in einem bestimmten Bereich befindet, können wir den Bereichsbetreiber verwenden, der mit drei gleichen Zeichen === gespendet wird
("a" ... "g") === "D"Der Bediener kehrt true zurück, wenn sich das Zeichen im Bereich befindet, und wenn anders falsch.
Abschluss
In diesem Handbuch diskutierten wir verschiedene Möglichkeiten, Strings in der Ruby -Sprache zu vergleichen.
Vielen Dank für das Lesen!