在迭代过程中是否有一种简单的方法来应用步骤?我在book中看到了对step_by()
的引用,但似乎无法让它发挥作用。
例如,要打印字符串的每个其他字符,我可以这样做但是有更简单的方法吗?
let s1 = "whhaatt".to_string();
for letter in s1.chars().enumerate() {
let (i, l) = letter;
if i % 2 == 0 {
println!("{:?}", l );
}
}
答案 0 :(得分:3)
最简单的方法是使用step
adaptor from the itertools
crate。在这种情况下,您可以使用s1.chars().step(2)
。
除了:您的代码不会迭代"字符&#34 ;;它迭代代码点。您很可能想要
graphemes
method from theunicode-segmentation
crate。