📅  最后修改于: 2023-12-03 15:34:46.076000             🧑  作者: Mango
比较运算符是用来比较两个值之间的大小、相等性以及顺序的符号。在 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
)。