Avatar ·

如何在 Rust 中以非标准步长迭代数字范围?

大家好!我刚开始学习 Rust,遇到了一个在其他语言中看似简单但在这里让我困惑的问题。 我需要遍历从 0 到 100 的数字,但步长为 3,即:0, 3, 6, 9, ... 99。在 Python 中,我会写 `for i in range(0, 100, 3):` 就能工作。而在 Rust 中,我尝试标准的 `for i in 0..100` —— 这给出步长 1。如果我写 `for i in (0..100).step_by(3)`,编译器会报错:"no method named `step_by` found for struct `Range`"。 我搜索了一下,发现 `step_by` 存在,但不知为何对简单范围不起作用。我尝试导入一些 traits,但无济于事。我当前的代码如下: ```rust fn main() { for i in 0..100 { println!("{}", i); // 这是步长 1,但我需要步长 3 } // 尝试使用步长 3: // for i in (0..100).step_by(3) { // println!("{}", i); // } } ``` 我阅读了文档,看到 `step_by` 属于 `Iterator`,但