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


Rust slice.rsplit用法及代码示例


本文简要介绍rust语言中 slice.rsplit 的用法。

用法

pub fn rsplit<F>(&self, pred: F) -> RSplit<'_, T, F> where    F: FnMut(&T) -> bool,

返回由匹配 pred 的元素分隔的子切片的迭代器,从切片的末尾开始并向后工作。匹配的元素不包含在子切片中。

例子

let slice = [11, 22, 33, 0, 44, 55];
let mut iter = slice.rsplit(|num| *num == 0);

assert_eq!(iter.next().unwrap(), &[44, 55]);
assert_eq!(iter.next().unwrap(), &[11, 22, 33]);
assert_eq!(iter.next(), None);

split() 一样,如果第一个或最后一个元素匹配,则空切片将是迭代器返回的第一个(或最后一个)项。

let v = &[0, 1, 1, 2, 3, 5, 8];
let mut it = v.rsplit(|n| *n % 2 == 0);
assert_eq!(it.next().unwrap(), &[]);
assert_eq!(it.next().unwrap(), &[3, 5]);
assert_eq!(it.next().unwrap(), &[1, 1]);
assert_eq!(it.next().unwrap(), &[]);
assert_eq!(it.next(), None);

相关用法


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