要写一个矩阵计算软件包,首先要实现向量的基本运算。原本以为小菜一碟,结果发现难度很大。搜了一下,发现正确代码应该按照下面的方式编写。辛亏我对 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 的函数式编程特点。
原创不易,如有帮助,敬请关注、点赞、收藏,谢谢支持!

博主在尝试编写矩阵计算软件包时,发现向量运算的实现比预期复杂。通过研究,他们采用了一种类似Haskell的方法来实现,并在Rust中成功应用。这段代码展示了Rust中的函数式编程特性,强调了在今后编码中深入理解这一特性的必要性。
:实现向量点积运算——吓我一身冷汗!&spm=1001.2101.3001.5002&articleId=113848230&d=1&t=3&u=f70b359b4169415d84b5c2e376b34874)
749

被折叠的 条评论
为什么被折叠?



