本文简要介绍rust语言中 std::cmp::Ordering.then_with
的用法。
用法
pub fn then_with<F>(self, f: F) -> Ordering where F: FnOnce() -> Ordering,
将排序与给定函数链接起来。
当它不是 Equal
时返回 self
。否则调用f
并返回结果。
例子
use std::cmp::Ordering;
let result = Ordering::Equal.then_with(|| Ordering::Less);
assert_eq!(result, Ordering::Less);
let result = Ordering::Less.then_with(|| Ordering::Equal);
assert_eq!(result, Ordering::Less);
let result = Ordering::Less.then_with(|| Ordering::Greater);
assert_eq!(result, Ordering::Less);
let result = Ordering::Equal.then_with(|| Ordering::Equal);
assert_eq!(result, Ordering::Equal);
let x: (i64, i64, i64) = (1, 2, 7);
let y: (i64, i64, i64) = (1, 5, 3);
let result = x.0.cmp(&y.0).then_with(|| x.1.cmp(&y.1)).then_with(|| x.2.cmp(&y.2));
assert_eq!(result, Ordering::Less);
相关用法
- Rust Ordering.then_with用法及代码示例
- Rust Ordering.then用法及代码示例
- Rust Ordering.is_eq用法及代码示例
- Rust Ordering.is_gt用法及代码示例
- Rust Ordering.is_le用法及代码示例
- Rust Ordering.is_lt用法及代码示例
- Rust Ordering.is_ge用法及代码示例
- Rust Ordering.is_ne用法及代码示例
- Rust Ordering.reverse用法及代码示例
- Rust Ordering用法及代码示例
- Rust Ord.cmp用法及代码示例
- Rust Ord.min用法及代码示例
- Rust Ord.max用法及代码示例
- Rust Ord.clamp用法及代码示例
- Rust Ord用法及代码示例
- Rust OsStr.to_ascii_uppercase用法及代码示例
- Rust Option.unwrap_or_default用法及代码示例
- Rust Octal用法及代码示例
- Rust Option.as_deref_mut用法及代码示例
- Rust Once.call_once用法及代码示例
- Rust Option.get_or_insert_with用法及代码示例
- Rust OnceCell用法及代码示例
- Rust Option.iter_mut用法及代码示例
- Rust OsStr.make_ascii_lowercase用法及代码示例
- Rust OsString.clear用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 std::cmp::Ordering.then_with。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。