我正在使用Dart创建一个类似于表单的简单webapp。
我正在对输入进行验证,将其限制在一定范围内,
在这种情况下1-5
所以一旦解析,我必须检查边界。 我目前正在使用三元运算符。
foo = foo <= 0 ? 1 : foo;
foo = foo > 5 ? 5 : foo;
这样可行,但不是特别干净。
因为这似乎是许多飞镖计划中的常见任务,我认为它可能具有内置功能。 有吗?
像numpy's clip之类的东西(使用与此域完全无关的示例)。
答案 0 :(得分:2)
该功能也称为钳位。显然,函数isn't in the library。链接的开放增强请求用于添加min,max和clamp的通用版本,并提及dart:math中数值的min和max存在。从文档中可以看出,夹具,夹子或类似物不在那里。
如果您经常需要,您必须使用自己的功能。您的实现没问题,但我会使用现有的最小和最大函数而不是三元运算符。
编辑:虽然没有自由功能,但num有一个钳制方法,如GameAlchemist链接中的文档所示。