| Crates.io | iterext |
| lib.rs | iterext |
| version | 0.1.0 |
| created_at | 2021-02-23 21:03:05.330712+00 |
| updated_at | 2021-02-23 21:03:05.330712+00 |
| description | Padding and separation extensions to iterators |
| homepage | |
| repository | https://github.com/coriolinus/iterext |
| max_upload_size | |
| id | 359637 |
| size | 9,784 |
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");
}
Originally wrote these extensions as part of the textbyte
module for my solitaire implementation.