1 unstable release

0.1.0 Feb 23, 2021

#31 in #padding

Download history 74/week @ 2024-01-01 151/week @ 2024-01-08 157/week @ 2024-01-15 58/week @ 2024-01-22 132/week @ 2024-01-29 79/week @ 2024-02-05 58/week @ 2024-02-12 72/week @ 2024-02-19 45/week @ 2024-02-26 46/week @ 2024-03-04 196/week @ 2024-03-11 151/week @ 2024-03-18 123/week @ 2024-03-25 199/week @ 2024-04-01 109/week @ 2024-04-08 63/week @ 2024-04-15

498 downloads per month
Used in 2 crates (via num-runtime-fmt)

MIT license

8KB
151 lines

iterext: A few more extension methods on iterators.

This crate is not likely to ever be published on https://crates.io because it's far more appropriate to attepmt to get these extensions added to itertools. However, I haven't yet made the time to attempt to contribute them there.

A few quick examples from the tests should show what it's about:

use iterext::prelude::*;

#[test]
fn test_separate() {
    for (msg, expect) in &[
        ("abc", "abc"),
        ("zyx", "zyx"),
        (
            "abcdefghijklmnopqrstuvwxyz",
            "abcde fghij klmno pqrst uvwxy z",
        ),
        (
            "thequickbrownfoxjumpedoverthelazydog",
            "thequ ickbr ownfo xjump edove rthel azydo g",
        ),
        (
            "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz",
            "abcde fghij klmno pqrst uvwxy zabcd efghi jklmn opqrs tuvwx yz",
        ),
    ] {
        let got: String = msg.chars().separate(' ', 5);
        assert_eq!(&got, expect,);
    }
}

#[test]
fn test_padding_chars() {
    let have = "foo".chars().pad('X', 5).collect::<String>();
    assert_eq!(have, "fooXX");
}

Provenance

Originally wrote these extensions as part of the textbyte module for my solitaire implementation.

Dependencies

~405KB