小编har*_*d65的帖子

Make 函数同时采用 Range 和 RangeInclusive

我想要一个以 Range 作为参数的函数。

fn takes_range(range: Range<i32>) {
    // DO SOMETING WITH RANGE
}
Run Code Online (Sandbox Code Playgroud)

我可以像这样使用这个功能,

takes_range(0..5);
Run Code Online (Sandbox Code Playgroud)

但不是

takes_range(0..=5);
Run Code Online (Sandbox Code Playgroud)

我意识到有两种类型,名为 Range 和 RangeInclusive。所以如果我想取包含范围,应该创建两个函数。

fn takes_range(Range<i32>) {}
fn takes_range_inclusive(RangeInclusive<i32>) {}
Run Code Online (Sandbox Code Playgroud)

然而这不是我想要的。我想同时使用 Range 和 RangeInclusive,所以我可以使用

takes_range(0..5);
takes_range(0..=5);
Run Code Online (Sandbox Code Playgroud)

是否可以使我的函数同时采用这两种类型?

range rust

8
推荐指数
1
解决办法
1976
查看次数

标签 统计

range ×1

rust ×1