【发布时间】:2019-01-25 20:47:55
【问题描述】:
我想编写一个函数,该函数将一个迭代器作为输入,并返回一个具有相同项但已变异的迭代器。就像在这个例子中一样:
fn greet(name: &mut String) {
name.insert_str(0, "Hello ");
}
fn to_greetings(names: impl Iterator<Item = String>) -> impl Iterator<Item = String> {
names.inspect(|name| greet(name))
}
这不会编译,因为name 不是可变的。我尝试在各个地方添加mut,但并没有真正理解我在做什么,但没有任何成功。如何修复上述代码?
我想我需要使项目可变,但显然Item = mut String 是一个语法错误。
【问题讨论】:
-
我不太清楚你想如何使用这个迭代器。可以举个例子吗?