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


Rust Iterator.cmp_by用法及代码示例


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

用法

fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering where    I: IntoIterator,    F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

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

例子

基本用法:

#![feature(iter_order_by)]

use std::cmp::Ordering;

let xs = [1, 2, 3, 4];
let ys = [1, 4, 9, 16];

assert_eq!(xs.iter().cmp_by(&ys, |&x, &y| x.cmp(&y)), Ordering::Less);
assert_eq!(xs.iter().cmp_by(&ys, |&x, &y| (x * x).cmp(&y)), Ordering::Equal);
assert_eq!(xs.iter().cmp_by(&ys, |&x, &y| (2 * x).cmp(&y)), Ordering::Greater);

相关用法


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