到目前为止,我已经使用std::fs::read_to_string
和String.lines
的std::str::Lines
(它是一个Iterator<Item = &str>
)“逐行”读取文件。
因此,有BufRead.lines()
来真正逐行读取文件,它返回std::io::Lines
(它是Iterator<Item = Result<String>>
)。
如何在不先使用collect
的情况下,从一种迭代器类型转换为另一种迭代器类型?
到目前为止,我已经使用std::fs::read_to_string
和String.lines
的std::str::Lines
(它是一个Iterator<Item = &str>
)“逐行”读取文件。
因此,有BufRead.lines()
来真正逐行读取文件,它返回std::io::Lines
(它是Iterator<Item = Result<String>>
)。
如何在不先使用collect
的情况下,从一种迭代器类型转换为另一种迭代器类型?
1条答案
按热度按时间1l5u6lss1#
在
String.lines
的情况下,你不需要有一个完整的String
值的所有者,但是你可以把Iterator<Item = Result<String>
转换成Strings
上的迭代器:您可以在
String
或&str
的项目上取Iterator
,如下所示: