我想在 Rust 中迭代两个字符串。我读到使用索引(nth()
方法)效率不高。这就是我使用迭代器的原因
fn main() {
let s1 = String::from("abacde");
let s2 = String::from("123456");
let mut iter1 = s1.chars();
let mut iter2 = s2.chars();
while let Some(ch1) = iter1.next() && let Some(ch2) = iter2.next(){
println!("{:?}", ch1);
}
}
我有一个错误
错误[E0658]:
let
该位置的表达式不稳定
如何修复它?
为了解决您的实际问题,您可以使用以下方法同步迭代 2 个迭代器
zip
:回答你的问题:
let
链,因为在while
or中if
调用多个 let 赋值是不稳定的。所有不稳定的功能都需要夜间编译器才能使用。您还需要针对问题中的特定语法启用该let_chains
功能。事实上,当您使用夜间编译器时,它会告诉您这样做:
您可以使用元组和解构。
铁锈游乐场