我有一个函数,它接收一个整数值作为步骤值。我想要测试的有以下5个条件:
- 值=0
- 值=1
- 值=-1
- 值>1
- 值<-1
目前这个函数是用一系列if语句实现的,我想改成用case语句。对于特定的值的情况或者一个有限范围内的情况(例如1到10),我没有问题,但是如何编写代表Value >1或Value <-1的case呢?
我有一个函数,它接收一个整数值作为步骤值。我想要测试的有以下5个条件:
目前这个函数是用一系列if语句实现的,我想改成用case语句。对于特定的值的情况或者一个有限范围内的情况(例如1到10),我没有问题,但是如何编写代表Value >1或Value <-1的case呢?
var
MyValue: integer;
...
case MyValue of
Low(Integer)..-2:
beep;
-1:
beep;
0:
beep;
+1:
beep;
2..High(Integer):
beep;
end;
low(NativeInt)
和high(NativeInt)
在 XE2 中 ;-) - David HeffernanInteger
,那就没问题了。实际上,Integer
永远是32位(我忽略了D1),而NativeInt
则是有所变化的。写low(Tag)
会更加稳健,我认为这种写法可以通过编译。 - David Heffernan