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


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。