所以我们的 idea 是有一个函数,它返回带有随机系数的n次闭包.例如,这对于比较根查找方法可能很有用,因为我们可以自动创建要计算的函数. 将任何操作附加到闭包的返回将是一个更强大的资源,所以如果有什么方法可以做到这一点,请告诉我.
代码应如下所示:
use rand::Rng;
fn create_func(n: u8) -> impl Fn(f64) -> f64 {
let mut cst = vec![];
for _ in 0..n{
cst.push(rand::thread_rng().gen_range(0..=20) as f64);
// establish the coefficients by randomly generating them
}
move |x| cst[0]*x + cst[1]*x.powf(1.) + /*...*/ cst[n- 1]*x.powf(n as f64)
}
所以很明显,最后一部分并不是表达我们want to返回的闭包的其余部分的有效方式,但我希望您能理解.