小编Lar*_*aug的帖子

Rust 中字符串连接的归约与折叠

从 1.51 开始,Rust 就包含了reduce,我在 Scala 中已经习惯了。 fold与 Scala 中的 FoldLeft 类似,但reduce 不同。我错了什么?

这工作得很漂亮:

let ss = vec!["a", "b", "c"].iter()
.fold("".to_string(), |cur, nxt| cur + nxt);

println!("{}", ss);
Run Code Online (Sandbox Code Playgroud)

这不会:

let ss = vec!["a", "b", "c"].iter()
.reduce(|cur, nxt| cur + nxt);

println!("{}", ss);
Run Code Online (Sandbox Code Playgroud)

错误:

let ss = vec!["a", "b", "c"].iter()
.fold("".to_string(), |cur, nxt| cur + nxt);

println!("{}", ss);
Run Code Online (Sandbox Code Playgroud)

(操场)

我究竟做错了什么?

functional-programming rust

10
推荐指数
1
解决办法
4681
查看次数

标签 统计

functional-programming ×1

rust ×1