vec![a, b, c].into_iter()
这个表达式看起来有点冗长,有更好的写法吗?
itertools 的文档 kmerge 给出了以下示例:
use itertools::Itertools;
let a = (0..6).step(3);
let b = (1..6).step(3);
let c = (2..6).step(3);
let it = vec![a, b, c].into_iter().kmerge();
itertools::assert_equal(it, vec![0, 1, 2, 3, 4, 5]);
当你想要创建一个临时的值迭代器时,有没有更好的方法? 也许像
iter![a,b,c]
这样的东西(如果 iter
已被使用,则使用其他单词)。
如果这是可能的,我相信肯定已经有人做过了,但我找不到任何相关资料。
for
循环,那么.into_iter()
调用将是隐式的,因此您可以省略它(并且删除vec!
,因为它可以只是一个简单的数组)。只有当您需要显式转换为迭代器时,它才会变得更加冗长。 - ShadowRanger