📜  ruby 比较运算符 - Ruby (1)

📅  最后修改于: 2023-12-03 15:34:46.076000             🧑  作者: Mango

Ruby 比较运算符

比较运算符是用来比较两个值之间的大小、相等性以及顺序的符号。在 Ruby 中常用的比较运算符包括:

  • < - 小于
  • > - 大于
  • <= - 小于等于
  • >= - 大于等于
  • == - 等于
  • != - 不等于
小于和大于

小于和大于运算符可以用来比较两个数值或者两个字符串的长度,返回一个布尔值(true 或 false)。例如:

1 < 2      #=> true
2 > 1      #=> true
"cat" < "dog"  #=> true
小于等于和大于等于

小于等于和大于等于运算符也可以用来比较两个数值或者两个字符串的长度,返回一个布尔值。例如:

1 <= 2     #=> true
2 >= 2     #=> true
"cat" <= "cat" #=> true
等于和不等于

等于运算符用来比较两个值是否相等,不等于运算符用来比较两个值是否不相等,返回一个布尔值。例如:

1 == 1  #=> true
1 == 2  #=> false
1 != 2  #=> true

等于运算符也可以用来比较字符串是否相等:

"cat" == "dog"   #=> false
"cat" == "cat"   #=> true
比较运算符和对象

在 Ruby 中,比较运算符也可以用来比较对象,例如:

class Person
  attr_accessor :name, :age
  
  def initialize(name, age)
    @name, @age = name, age
  end
end

person1 = Person.new("Alice", 25)
person2 = Person.new("Bob", 30)

person1.age < person2.age   #=> true
person1 != person2         #=> true

但是,如果两个对象无法直接比较,则会导致异常:

class Animal
  attr_accessor :name
  
  def initialize(name)
    @name = name
  end
end

animal1 = Animal.new("dog")
animal2 = Animal.new("cat")

animal1 < animal2     #=> NoMethodError: undefined method `<'

因此,在比较对象的时候,需要确保可以直接进行比较,或者使用比较方法(例如 animal1.name < animal2.name)。