要写一个矩阵计算软件包,首先要实现向量的基本运算。原本以为小菜一碟,结果发现难度很大。搜了一下,发现正确代码应该按照下面的方式编写。辛亏我对 haskell 还比较熟悉,否则真的吓晕我了。
fn main() {
let a: Vec<i32> = vec![1,2,3,4];
let b = a.clone();
let r: i32 = a.iter().zip(b.iter()).map(|(x, y)| x*y).sum();
println!("{}", r);
}
这一套方法几乎照搬了 haskell 的做法。看起来我需要在以后的编码过程中,细细品味 rust 的函数式编程特点。
原创不易,如有帮助,敬请关注、点赞、收藏,谢谢支持!