变量的最大和最小约束

时间:2011-03-28 13:09:01

标签: math variable-assignment

我写了很多看起来像这样的方法:

/* myVal must be between 10 and 90 */
int myVal = foo;
if(myVal < 10) { myVal = 10; }
else if (myVal > 90) { myVal = 90; }

有更优雅的方式吗?显然你可以轻松编写一个方法,但我想知道是否有任何语言有更自然的方式来设置约束,或者是否还有其他我缺少的东西。

语言不可知,因为我对不同语言如何处理它感兴趣。

2 个答案:

答案 0 :(得分:3)

在大多数编程语言中,您可以使用类似

的内容
myVal = min(max(foo, 10), 90);

或者只是编写一个clip()宏来执行相同的操作。

答案 1 :(得分:0)

我不时使用间隔数据类型。大多数工作都是在初始化不同的情况,因为您可能希望处理任何一个开放或关闭的结束。对于任何给定的情况,包含的测试都很容易。

这里没有任何惊天动地,但令人惊讶的方便。易于实现面向对象,功能和程序样式。

相关问题