【发布时间】:2013-09-16 05:10:47
【问题描述】:
我有一个 case 语句,它为结果代码评估整数(函数的结果),如下所示:
R:= DoSomething;
case R of
0: begin
//Success
end;
1..99: begin
//Specific result messages
end;
100..199: begin
//Other specific result messages
end;
-MAXINT..-1: begin
//Failure
end;
end;
如果失败,则返回一个表示错误代码的负数。 DoSomething 是任何返回整数作为响应代码(或错误代码,为负数)的函数。如果它是一个错误,它会被传递给另一个错误处理程序。如果它是成功的,它会被传递给一个成功处理程序(继续等)。正值将由各种特定的处理程序处理。
我想知道是否有另一种写法-MAXINT..-1。更多类似于“任何 -1 及以下”的内容。我试过<=-1,但编译器不太喜欢。
有没有办法在案例陈述中做到这一点?
【问题讨论】:
-
什么是正值?
-
@IgnacioVazquez-Abrams 好吧,这些将由其他案例陈述处理,但我不想在这个问题中包括所有可能的陈述,因为这些不一定相关(尽管同样适用于积极)
-
最后会有很多具体的正数,我会在
1..99、100..199、200..299等范围内处理。但这些细节与问题。 -
我不同意。 :-) 这个细节与问题高度相关。没有它,您根本不需要
case。您应该进行编辑以至少包含有关处理正数的评论。 (如果有那个细节,我就不会在这里发表我的评论,也不会对拉里关于强制不必要的case的回答发表评论。) -
请注意,最小整数值为
- MAXINT - 1。 - MAXINT 是 MAXINT 符号已更改。