generics - 了解Rust中的通用FromIterator

标签 generics rust linked-list iterator traits

我是使用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/

相关文章:

Java - 在方法参数中使用类参数

enums - 合并两个Option实例的惯用方式是什么?

java - 如何进行广度优先搜索

java - 链表循环潜在异常

不指定类型的 C# 泛型方法

java - 为什么 List<String> 接受另一个 <List> 作为元素

rust - 当多个 future 使用相同的基础套接字时,为什么不能将它们唤醒?

rust - 切片到固定大小的数组

c++ - 在 C++ 中递归地总结链表中的元素

c# - 将 ExpandoObject 转换为匿名类型