拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 如何在回圈中多次向前跳过?

如何在回圈中多次向前跳过?

白鹭 - 2022-01-24 2107 0 0

我在 Rust 中有这段代码:

for ch in string.chars() {
    if ch == 't' {
        // skip forward 5 places in the string
    }
}

在 C 中,我相信你可以这样做:

for (int i = 0; i < strlen(string);   i) {
    if (string[i] == 't') {
        i  = 4;
        continue;
    }
}

你将如何在 Rust 中实作这一点?谢谢。

uj5u.com热心网友回复:

因为string.chars()给了我们一个迭代器,我们可以用它来创建我们自己的回圈,让我们控制迭代器:

let string = "Hello World!";
let mut iter = string.chars();

while let Some(ch) = iter.next() {
    if ch == 'e' {
        println!("Skipping");
        iter.nth(5);
        continue;
    }
    println!("{}", ch);
}

将输出:

H
Skipping
r
l
d
!

在线尝试!

标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *