#iterator #first #last

splop

辅助函数,用于确定某物的首次/末次重复

2 个不稳定版本

使用旧的 Rust 2015

0.2.0 2018年6月30日
0.1.0 2018年6月29日

#1494 in Rust 模式

MIT/Apache

17KB
181

Splop

Build Status crates.io version docs

这个小巧的crate包含函数和类型,帮助你在第一次或最后一次重复时进行特殊操作(或中间的)。这个crate提供两个独特的功能

  • IterStatusExt::with_status:为 迭代器 创建一个新方法,该迭代器生成带有关信息的项,告诉您这是第一个/最后一个项。
  • SkipFirst:一个简单的结构,帮助您总是执行某些操作,除了在第一次重复时。也可以不使用迭代器!

示例

(也请参阅 examples/)

let names = ["anna", "peter", "brigitte", "bob"];

for (name, status) in names.iter().with_status() {
    print!("{}", name);

    if status.is_first() {
        print!(" <-- winner (ᵔᴥᵔ)");
    }
    if status.is_last_only() {
        print!(" ... ʘ︵ʘ");
    }

    println!();
}

旧的编程问题 – 元素之间的逗号

let mut comma = SkipFirst::new();

print!("[");
for name in &["banana", "melon", "kiwi"] {
    comma.skip_first(|| print!(", "));
    print!("{}", name);
}

println!("]");

许可证

许可协议为以下之一

由您选择。

贡献

除非您明确说明,否则根据 Apache-2.0 许可证定义的,您提交的任何有意包含在作品中的贡献,将按上述方式双许可,没有任何额外的条款或条件。

无运行时依赖