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