W Ruby możemy wykonywać operacje porównawcze ciągów przy użyciu różnych metod, jak omówiono w tym samouczku.
Operator równości
Dwa równe znaki oznaczają operatora równości w Ruby. Zwraca prawdę, jeśli oba obiekty są równe i fałszywe, jeśli inaczej.
var1 = „Hello”Operator równości nie dba o tak długo, jak oba dostarczone obiekty są prawidłowymi strunami
var1 = „Hello”Jeśli ciągi nie są równe, operator równości zwróci false.
var1 = "Hello"Możesz zrobić więcej niż porównać zmienne ciągów. Możesz także porównać dosłowne string jako:
„Hello” == "zero"Warto zauważyć, że ciąg numeryczny nie jest bezpośrednio porównywalny z wartością całkowitą.
2 == "2"Nie równe
Nie równy operator, oznaczony jako !=, zwraca true, jeśli wartości porównywane nie są równe i fałszywe, jeśli są równe. Działa jako negacja operatora równości.
"Witam" != "Hello"Jeśli porównywane wartości nie są równe, zwraca prawdziwie jako:
"Witam" != "Hello"Eql? metoda
Ruby ma wbudowaną metodę łańcuchową o nazwie EQL?. EQL? Metoda sprawdza, czy wartości są równe zarówno pod względem długości, jak i zawartości. EQL? Metoda zwraca true, jeśli porównywane wartości są równe, czy nie.
Przykłady:
var1 = „Hello”W takim przypadku oba ciągi mają równą długość i zawartość.
EQL? Metoda jest wrażliwa na literę i zwróci fałsz, jeśli obudowa nie jest równa
var1 = „Hello”W przeciwieństwie do operatora równości, który zwraca true, gdy porównujesz liczbę całkowitą i pływasz, eql? Metoda zwraca false jako:
10 == 10.0Równy? metoda
W przeciwieństwie do operatora równości, który sprawdza, czy obie wartości są równe, równe? Metoda sprawdza, czy oba operandy odnoszą się do tego samego obiektu.
var1 = "Hello"Zauważysz, że metoda zwraca false, ponieważ wartości nie odwołują się do tego samego obiektu. Możesz to uzyskać za pomocą Object_ID jako:
var1.Object_idPrzykładem obu operandów wskazujących na ten sam obiekt jest, jak pokazano:
var2 = var1Notacja statku kosmicznego
Ruby zapewnia również sposób porównywania ciągów znanych jako notacja statka kosmiczna. Wyrażamy to z mniej niż znakiem, znakiem równym i większym niż operator.
Metoda zwraca 0, jeśli ciągi pasują -1, jeśli lewy operand jest mniejszy niż prawy operand, a 1, jeśli prawy operand jest większy niż lewy operand.
"cześć cześć"Metoda CaseCMP
Aby przeprowadzić porównanie nieczułe przypadki, możesz użyć metody CaseCMP. Ma podobne wartości zwrotne do notacji statku kosmicznego.
"Cześć".Casecmp „Hello”Metoda ignoruje wrażliwość na przypadki i porównuje tylko zawartość strun.
7: Porównanie zakresu
Aby porównać, czy znak znajduje się w określonym zakresie, możemy użyć operatora zasięgu, przekazanego przy użyciu potrójnych równych znaków ===
(„A”… „G”) === „D”Operator zwraca true, jeśli znak znajduje się w zakresie i fałsz, jeśli inaczej.
Wniosek
W tym przewodniku omówiliśmy różne sposoby porównywania ciągów w języku Ruby.
Dziękuję za przeczytanie!