Операторы сравнения Ruby
Операторы сравнения
Операторы сравнения принимают простые значения (числа или строки) в качестве аргументов и используются для проверки равенства между двумя значениями. Ruby предоставляет следующие операторы сравнения:
оператор | название | пример | Результат |
---|---|---|---|
== | равных | х == у | Истинно, если x точно равно y. |
знак равно | Не равный | х! = у | Истинно, если x точно не равно y. |
> | Лучше чем | х> у | Те, если х больше, чем у. |
< | Меньше, чем | х <у | Истинно, если х меньше у. |
> = | Больше или равно | х> = у | Истинно, если x больше или равно y. |
<= | Меньше или равно | х <= у | Истинно, если x меньше или равно y. |
<=> | Комбинированный оператор сравнения. | х <=> у | х <=> у: = если x <y, то вернуть -1 если x = y, вернуть 0 если x> y, то вернуть 1 если x и y несопоставимы, вернуть nil |
=== | Тест на равенство | х === у | (10 ... 20) === 9 вернуть false. |
.eql? | Истинно, если два значения равны и одного типа | x.eql? Y | 1 == 1.0 # => верно 1.eql? 1.0 # => ложь |
равны? | Истинно, если две вещи являются одним и тем же объектом. | obj1.equal? obj2 | val = 10 => 10 val.equal? (10) => true |
Пример: тест на равенство
puts ("Test two numbers for equality with ==, !=, or <=>")
puts 14 == 16
puts 14 != 16
puts 14 <=> 14
puts 14 <=> 12
puts 14 <=> 16
Выход:
Проверьте два числа на равенство с ==,! = Или <=> ложный правда 0 1 -1
Пример: eql? и как? операторы
irb(main):023:0> 1 == 1.0
=> true
irb(main):024:0> 1.eql?1.0
=> false
irb(main):025:0> obj1 = "123"
=> "123"
irb(main):026:0> obj2 = obj1.dup
=> "123"
irb(main):027:0> obj1 == obj2
=> true
irb(main):028:0> obj1.equal?obj2
=> false
irb(main):029:0> obj1.equal?obj1
=> true
irb(main):030:0>
Пример: равно, меньше или больше друг друга
puts ("Test if two numbers are equal, less than, or greater than each other")
puts 14 < 16
puts 14 < 14
puts 14 <= 14
puts 14.0 > 12.5
puts 14.0 >= 14
Выход:
Проверьте, равны ли два числа, меньше или больше друг друга правда ложный правда правда правда
Пример: оператор космического корабля возвращает -1, 0 или 1
puts ("the <=> (spaceship operator) returns -1, 0, or 1,")
puts 2 <=> 3
puts 2 <=> 2
puts 3 <=> 2
Выход:
<=> (оператор космического корабля) возвращает -1, 0 или 1, -1 0 1
Пример: проверка значения в диапазоне
puts ("test if a value is in a range")
puts (12...16) === 8
puts (12...16) === 14
puts (12...16) === 16
puts (12...14) === 12
puts (12...16) === 14
Выход:
проверить, находится ли значение в диапазоне ложный правда ложный правда правда
Предыдущая: Рубиновые арифметические операторы
Next: Операторы присваивания Ruby
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code