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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
pub mod data;
#[allow(warnings)]
#[macro_use]
pub mod macros {
    /// as_to!() can be used to
    /// convert type
    /// ```rust
    /// use rand_word::*;
    /// println!("{:?}", rand_word::new!(10));// generate 10 random words
    /// ```
    #[macro_export]
    macro_rules! new {
        ($length:expr) => {{
            $crate::new($length)
        }};
    }
    #[macro_export]
    macro_rules! read_data {
        () => {{
            // use useful_macro::*;
            // let data = String::from(&rand_word::data::data::data());
            // let vec = split_to_vec!(data,"\n").iter().map(|s| {
            //      vec_element_clone!(split_to_vec!(s,","),0)
            // }).collect::<Vec<_>>();
            //vec
            $crate::data::data::data()
        }};
    }
}
pub fn new(len:usize) ->String{   
    use rand::Rng;
    let mut re = Vec::new();
    for _i in 0..len{
        let mut rng = rand::thread_rng();
        let words = read_data!();
        let j: usize = rng.gen_range(0..words.len());  
        re.push(format!("{}",words[j]));
    }
    re.join::<_>(" ").to_string()
}