我写了很多看起来像这样的方法:
/* myVal must be between 10 and 90 */
int myVal = foo;
if(myVal < 10) { myVal = 10; }
else if (myVal > 90) { myVal = 90; }
有更优雅的方式吗?显然你可以轻松编写一个方法,但我想知道是否有任何语言有更自然的方式来设置约束,或者是否还有其他我缺少的东西。
语言不可知,因为我对不同语言如何处理它感兴趣。
答案 0 :(得分:3)
在大多数编程语言中,您可以使用类似
的内容myVal = min(max(foo, 10), 90);
或者只是编写一个clip()
宏来执行相同的操作。
答案 1 :(得分:0)
我不时使用间隔数据类型。大多数工作都是在初始化不同的情况,因为您可能希望处理任何一个开放或关闭的结束。对于任何给定的情况,包含的测试都很容易。
这里没有任何惊天动地,但令人惊讶的方便。易于实现面向对象,功能和程序样式。