First-class functions: Difference between revisions

→‎{{header|Rust}}: Use blowfish operator
(→‎{{header|Rust}}: Removed duplicate line)
(→‎{{header|Rust}}: Use blowfish operator)
Line 2,222:
let invlist: [&Fn(f64) -> f64; 3] = [&cube_root, &f64::asin, &f64::acos];
 
let v: Vec<f64>result = flist.iter()
.zip(&invlist)
.map(|(f,i)| compose(f,i)(0.5))
.collect::<Vec<_>>();
 
println!("{:?}", vresult);
 
}
Line 2,236 ⟶ 2,237:
move |x: T| g(f(x))
 
*/}</lang>
}
 
/*
This is how compose would be written in stable Rust
fn compose<'a, F, G, T, U, V>(f: F, g: G) -> Box<Fn(T) -> V>
where F: 'a + Fn(T) -> U,
G: 'a + Fn(U) -> V,
{
Box::new(move |x: T| g(f(x)))
 
}
*/</lang>
 
=={{header|Scala}}==