fn()とすることで、引数を関数にすることができる。
fn main() { run_function(handle_index); } fn run_function(f: fn()-> Option<HashMap<&'static str, &'static str>>) { let mut content: Option<HashMap<&str, &str>> = Some(HashMap::new()); content = f(); match content { Some(data) => { println!("{:?}", data); }, None => {}, } } fn handle_index() -> Option<HashMap<&'static str, &'static str>> { let mut content1 = HashMap::new(); content1.insert( "title", "index page", ); return Some(content1); }
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.45s
Running `target/debug/ares`
{“title”: “index page”}
なるほどー、中々やるやんけ