在Dart中轻松检查数字是否在给定范围内?

在Dart中轻松检查数字是否在给定范围内?,dart,Dart,Dart中是否有操作员或功能可以轻松验证数字是否在范围内?类似于Kotlinin操作符: if(1..10中的i){//相当于1非常简单,不。只需使用1即可,因为包含了扩展函数,如果您可以进行非内联检查,则此答案可能会略有更改 据我所知,这方面没有内置函数,但您可以轻松地在num上创建自己的扩展来模拟这一点 类似这样的东西将模拟范围验证: void main() { final i = 2; if (i.isBetween(1, 10)) { print('Between');

Dart中是否有操作员或功能可以轻松验证数字是否在范围内?类似于Kotlin
in
操作符:


if(1..10中的i){//相当于1非常简单,不。只需使用
1即可,因为包含了扩展函数,如果您可以进行非内联检查,则此答案可能会略有更改

据我所知,这方面没有内置函数,但您可以轻松地在
num
上创建自己的扩展来模拟这一点

类似这样的东西将模拟范围验证:

void main() {
  final i = 2;
  if (i.isBetween(1, 10)) {
    print('Between');
  } else {
    print('Not between');
  }
}

extension Range on num {
  bool isBetween(num from, num to) {
    return from < this && this < to;
  }
}
void main(){
最终i=2;
如果(i.介于(1,10)之间){
打印('Between');
}否则{
打印(“不在两者之间”);
}
}
num上的扩展范围{
bool isBetween(num from,num to){
从

此方法特别是从和到都是独占的,但通过微调和更好的命名,您可以轻松为所有Kotlin范围检查创建扩展函数。

我发现使用clamp更具可读性。因此,要检查我是否介于1和10之间,请将其钳制到范围并与自身进行比较

if (i.clamp(1,10) == i) {
    print(i);
}

在计算方面似乎需要更多的工作,因为你真的只需要该逻辑的比较能力,而不需要该逻辑的新值部分。如果你想方便记法,你可以将.between(low,high)作为num的扩展。编辑:我看到另一个答案已经表明了这一点!
if (i.clamp(1,10) == i) {
    print(i);
}