iof 0.5.0

Read from and write data to console or file in simple formats.
Documentation
use iof::read;

fn main() {
    let mut i = 0usize;
    let mut f = || {
        i += 1;
        i
    };
    let m: Vec<Vec<u32>> = read!(3, f());
    assert_eq!(m, vec![vec![1], vec![2, 3], vec![4, 5, 6]]);

    let m: Vec<Vec<Vec<i32>>> = read!(3, 3, 3);
    assert_eq!(
        m,
        [
            [[1, 2, 3], [4, 5, 6], [7, 8, 9],],
            [[10, 11, 12], [13, 14, 15], [16, 17, 18],],
            [[19, 20, 21], [22, 23, 24], [25, 26, 27],],
        ],
    );

    let v: Vec<i32> = read!(3; fmt = iof::fmt::csv());
    assert_eq!(v, [1, 2, 3]);

    let v: Vec<i32> = read!(3; skip = ";\r\n".chars());
    assert_eq!(v, [1, 2, 3]);

    let v: Vec<i32> = read!(3; skip = [':', '\r', '\n']);
    assert_eq!(v, [1, 2, 3]);
}