#iterator #string #chars #owned

owned_chars

具有与Chars和CharIndices相同输出的所有者迭代器

7个版本

使用旧Rust 2015

0.3.2 2020年12月20日
0.3.1 2020年3月15日
0.3.0 2018年5月22日
0.2.1 2017年1月20日
0.1.0 2015年12月18日

#657 in 文本处理

Download history 73/week @ 2024-03-11 67/week @ 2024-03-18 48/week @ 2024-03-25 121/week @ 2024-04-01 50/week @ 2024-04-08 54/week @ 2024-04-15 71/week @ 2024-04-22 78/week @ 2024-04-29 63/week @ 2024-05-06 57/week @ 2024-05-13 59/week @ 2024-05-20 43/week @ 2024-05-27 48/week @ 2024-06-03 41/week @ 2024-06-10 67/week @ 2024-06-17 65/week @ 2024-06-24

226 每月下载量
用于 12 个Crates (5 直接)

MIT/Apache

8KB
91

owned-chars

Travis CI

此crate为String提供两个方法扩展特性,into_charsinto_char_indices。这些方法与 String::charsString::char_indices 并行,但它们创建的迭代器消耗String而不是借用它。

发行说明

  • 0.3.0
    • 重写以使用 delegate crate
    • 修复/破坏性更改:OwnedChars::as_strstd::Chars::as_str 以相同的方式工作

示例

use owned_chars::OwnedChars;

fn main() {
    let mut chars = OwnedChars::from_string("0123456789ABCDEF".to_owned());
    let next_is_digit = |chars: &mut OwnedChars| chars.next().map_or(false, |c| c.is_numeric());

    assert!(next_is_digit(&mut chars)); // 0
    assert!(next_is_digit(&mut chars)); // 1
    assert!(next_is_digit(&mut chars)); // 2
    assert!(next_is_digit(&mut chars)); // 3
    assert!(next_is_digit(&mut chars)); // 4
    assert!(next_is_digit(&mut chars)); // 5
    assert!(next_is_digit(&mut chars)); // 6
    assert!(next_is_digit(&mut chars)); // 7
    assert!(next_is_digit(&mut chars)); // 8
    assert!(next_is_digit(&mut chars)); // 9

    assert!(!next_is_digit(&mut chars)); // A
    assert!(!next_is_digit(&mut chars)); // B
    assert!(!next_is_digit(&mut chars)); // C
    assert!(!next_is_digit(&mut chars)); // D
    assert!(!next_is_digit(&mut chars)); // E
    assert!(!next_is_digit(&mut chars)); // F
}

依赖项

~1.5MB
~36K SLoC