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


Rust Iterator.partial_cmp_by用法及代码示例


本文简要介绍rust语言中 core::iter::Iterator.partial_cmp_by 的用法。

用法

fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering> where    Self: Sized,    I: IntoIterator,    F: FnMut(Self::Item, I::Item) -> Option<Ordering>,

Lexicographically 根据指定的比较函数将此 Iterator 的元素与另一个 Iterator 的元素进行比较。

例子

基本用法:

#![feature(iter_order_by)]

use std::cmp::Ordering;

let xs = [1.0, 2.0, 3.0, 4.0];
let ys = [1.0, 4.0, 9.0, 16.0];

assert_eq!(
    xs.iter().partial_cmp_by(&ys, |&x, &y| x.partial_cmp(&y)),
    Some(Ordering::Less)
);
assert_eq!(
    xs.iter().partial_cmp_by(&ys, |&x, &y| (x * x).partial_cmp(&y)),
    Some(Ordering::Equal)
);
assert_eq!(
    xs.iter().partial_cmp_by(&ys, |&x, &y| (2.0 * x).partial_cmp(&y)),
    Some(Ordering::Greater)
);

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 core::iter::Iterator.partial_cmp_by。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。