當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Rust Iterator.partial_cmp_by用法及代碼示例


本文簡要介紹rust語言中 std::iter::Iterator.partial_cmp_by 的用法。

用法

fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering> where    I: IntoIterator,    F: FnMut(Self::Item, <I as IntoIterator>::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大神的英文原創作品 std::iter::Iterator.partial_cmp_by。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。