minigrep_dqy 0.1.0

A mini command for grep like linux
Documentation
use std::env;

use std::process;
use std::thread;
use std::time::Duration;

use minigrep_dqy::Config;

struct Cacher<T>
    where T: Fn(i32) -> i32 {
    calculation: T,
    value: Option<i32>,
}

impl<T> Cacher<T> where T: Fn(i32) -> i32 {
    fn new(calculation: T) -> Cacher<T> {
        Cacher {
            calculation,
            value: None
        }
    }

    fn value(&mut self, arg: i32) -> i32 {
        match self.value {
            Some(v) => v,
            None => {
                let v = (self.calculation)(arg);
                self.value = Some(v);
                v
            }
        }
    }
}

fn main() {
    let config = Config::new(env::args()).unwrap_or_else(|err| {
        eprintln!("Problem parsing arguments: {}", err);
        process::exit(1);
    });

    if let Err(e) = minigrep_dqy::run(config) {
        eprintln!("Application error: {}", e);
        process::exit(1);
    }

    let expensive_closure = |num: i32| {
        println!("Calculating slowly...");
        thread::sleep(Duration::from_secs(2));
        num
    };

    let fun = |x: String| x;
}