1 unstable release
0.1.0 | Feb 23, 2021 |
---|
#6 in #separation
91 downloads per month
Used in 3 crates
(via num-runtime-fmt)
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
~425KB