Тип Ordering
Тип Ordering используется для представления
результата сравнения двух значений. Он содержит
три возможных варианта: Less (меньше),
Equal (равно) и Greater (больше).
Этот тип часто возвращается методами сравнения,
такими как cmp, и позволяет явно обрабатывать
все возможные исходы сравнения.
Синтаксис
use std::cmp::Ordering;
enum Ordering
{
Less,
Equal,
Greater,
}
Пример
Давайте сравним два числа с помощью метода cmp
и выведем результат:
use std::cmp::Ordering;
fn main()
{
let a = 5;
let b = 10;
let res = a.cmp(&b);
match res
{
Ordering::Less => println!("Less"),
Ordering::Equal => println!("Equal"),
Ordering::Greater => println!("Greater"),
}
}
Результат выполнения кода:
Less
Пример
Давайте проверим, равны ли два значения,
используя вариант Equal:
use std::cmp::Ordering;
fn main()
{
let a = 7;
let b = 7;
let res = a.cmp(&b);
if res == Ordering::Equal
{
println!("Значения равны");
}
else
{
println!("Значения не равны");
}
}
Результат выполнения кода:
Значения равны
Пример
Давайте сравним две строки и определим, какая из них больше:
use std::cmp::Ordering;
fn main()
{
let a = "abcde";
let b = "12345";
let res = a.cmp(b);
match res
{
Ordering::Less => println!("a меньше b"),
Ordering::Equal => println!("a равно b"),
Ordering::Greater => println!("a больше b"),
}
}
Результат выполнения кода:
a больше b