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

时间:2018-12-15 21:53:24

标签: dart

Dart中是否有运算符或函数可以轻松验证数字是否在范围内?类似于Kotlin in运算符:

https://kotlinlang.org/docs/reference/ranges.html

if (i in 1..10) { // equivalent of 1 <= i && i <= 10
    println(i)
}

3 个答案:

答案 0 :(得分:5)

很简单,不。只需使用1 <= i && i <= 10

答案 1 :(得分:4)

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

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

Documentation for clamp

答案 2 :(得分:2)

由于包含扩展功能,因此如果您可以进行非内联检查,可以稍稍更改此答案。

据我所知,没有内置函数,但是您可以轻松地在str上创建自己的扩展程序来模拟此情况。

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

num

这种方法在前后之间都是互斥的,但是通过细微的调整和更好的命名,您可以轻松地为所有Kotlin范围检查创建扩展功能。