当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust Ordering.then_with用法及代码示例


本文简要介绍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-lang.org大神的英文原创作品 std::cmp::Ordering.then_with。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。