为什么我不能创建一个以变量为边界的范围?

时间:2018-12-19 00:14:03

标签: rust iterator range

我正在完成一些Exercism练习。当我尝试使用变量作为范围的边界时,我遇到了一个问题。我正在处理的代码如下:

pub fn test(start: i32, end: i32) {
    println!("{}-{}", start, end);
    for n in start..end {
        println!("IN LOOP: {}", n);
    }
}

fn main() {
    test(7, 5);
}

当我尝试使用任何startend参数集调用此函数时,就会发生此问题。我可以看到第一个println!调用的输出,但是“ IN LOOP”打印永远不会运行。如果我将for n in (start..end)这一行替换为for n in (3..0),则它将成功运行。我很好奇为什么我似乎无法创建一个受变量限制的范围。

该示例在The rust playground

上可用

0 个答案:

没有答案