<分区>
所以我用下面的方式返回一个迭代器:
pub fn get_iter_names(&self) -> ??? {
self.nodes.iter().cloned()
.filter(|x| x.is_some())
.map(|x| x.unwrap().name)
}
哪里self.nodes
是 Vec<Option<Node>>
和 Node
已归档name
.问题是返回类型应该是什么。我的编译器说 core::iter::Map<core::iter::Filter<core::iter::Cloned<core::slice::Iter<'_, core::option::Option<core::node::ComputeNode>>>, [closure@src/core/graph.rs:931:12: 931:27]>, [closure@src/core/graph.rs:932:9: 932:28]>
, 但问题是我不知道如何将 clousure 指定为类型?
执行此操作的正确方法是什么?