我是使用rust 的新手,我发现自己在第二行迷路了。我该怎么解释?我可以使用哪一个插入器进行SimpleLinkedList
的转换?
impl<T> FromIterator<T> for SimpleLinkedList<T> {
fn from_iter<I: IntoIterator<Item = T>>(_iter: I) -> Self {
unimplemented!()
}
}
最佳答案
I found myself lost in this second line. How can I interpreted it?
哪一部分?
from_iter
定义为在I
类型上参数化的通用函数。然后,将该类型限制在IntoIterator<Item=T>
上(这意味着它必须实现)。IntoIterator<Item=T>
意味着可以迭代类型(转换为Iterator
)并产生T
。在其他语言的术语中,它是T的迭代。因此,
from_iter
是一个通用函数,其输入是IntoIterator
应该包含的任何项目的可迭代(SimpleLinkedList
)。Which one would be the interator
_iter.into_iter()
将是输入迭代器。您还可以使用for循环对_iter
进行迭代,因为它使用IntoIterator
特性将其RHS隐式转换为迭代器。
关于generics - 了解Rust中的通用FromIterator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61748094/