2 个不稳定版本
使用旧的 Rust 2015
0.2.0 | 2018年6月30日 |
---|---|
0.1.0 | 2018年6月29日 |
#1494 in Rust 模式
17KB
181 行
Splop
这个小巧的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 License 2.0,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
由您选择。
贡献
除非您明确说明,否则根据 Apache-2.0 许可证定义的,您提交的任何有意包含在作品中的贡献,将按上述方式双许可,没有任何额外的条款或条件。