generics - 理解 Rust 中的泛型 FromIterator
问题描述
我是新手,我发现自己迷失在第二行。我该如何解释它?哪一个是我可以用来进行转换的交互器SimpleLinkedList
?
impl<T> FromIterator<T> for SimpleLinkedList<T> {
fn from_iter<I: IntoIterator<Item = T>>(_iter: I) -> Self {
unimplemented!()
}
}
解决方案
我发现自己迷失在第二行。我该如何解释它?
哪一部分?from_iter
被定义为在 type 上参数化的泛型函数I
。然后该类型有界(意味着它必须实现)IntoIterator<Item=T>
。
IntoIterator<Item=T>
意味着该类型可以迭代(转换为 an Iterator
)并产生T
。用其他语言的术语来说,它是Ts的迭代。
一个通用函数也是如此from_iter
,它的输入是应该包含的任何项目的可迭代( )。IntoIterator
SimpleLinkedList
哪一个是interator
_iter.into_iter()
将是输入迭代器。您也可以只使用 for 循环进行迭代,因为它使用trait_iter
隐式地将其 RHS 转换为迭代器。IntoIterator
推荐阅读
- java - 如何将很多值传递给 GET 请求参数
- android - 应为 BEGIN_OBJECT,但在第 1 行为 STRING
- html - 如何左对齐和垂直对齐标题中的图像并将文本水平保持在 div 的中心
- android-studio - 如何在项目范围内使用 Kotlin ExperimentalUnsignedTypes (AndroidStudio)
- php - 如何在插入其他表中的值时插入值
- python - 如何在不省略单词的情况下读取excel文件?
- html - 如何使伪 :before 的内容与其父元素一起缩进?
- wmic - 从“wmic service get”命令过滤微软服务
- javascript - 在可编辑的选择框中获取当前选定的值
- javascript - 展开折叠 div 而不对导航栏产生任何影响