gradient-string 0.1.0

gradient-string is a safe crate to iterate over a gradient of permutations of string slices
Documentation

Gradient String

gradient string is a safe crate to iterate over a gradient of permutations of strings of a Vec.

Examples

use gradient_string::Gradient;

let boot = Gradient::new(0x1BADB002u32.to_be_bytes().to_vec())
    .map(Vec::from)
    .collect::<Vec<Vec<u8>>>();
assert_eq!(
    boot,
    vec![
        vec![27], vec![173], vec![176], vec![2],
        vec![27, 173], vec![173, 176], vec![176, 2],
        vec![27, 173, 176], vec![173, 176, 2],
        vec![27, 173, 176, 2]
    ]
);
use gradient_string::Gradient;

let alphabet = Gradient::new(" abc ".chars().collect::<Vec<char>>())
    .map(Vec::from)
    .map(|vec| {
        vec.iter()
            .map(Clone::clone)
            .map(String::from)
            .collect::<String>()
    })
    .collect::<Vec<String>>();
assert_eq!(
    alphabet,
    vec![
        " ", "a", "b", "c", " ", " a", "ab", "bc", "c ", " ab", "abc", "bc ", " abc",
        "abc ", " abc "
    ]
);