Futurebasic/语言/参考/长 IF
外观
LONG IF expr [statementBlock1] [XELSE[statementBlock2]] END IF
长 IF 语句标志着 "if-block" 的开始,该语句块必须以 END IF 语句结束。expr 可以是逻辑表达式(例如:personCount>17)、数值表达式或字符串。如果数值表达式计算结果为非零值,则认为其为 "true"。如果字符串的长度大于零,则认为其为 "true"。
如果 expr 为 "true",则仅执行 statementBlock1 中的语句,然后从 END IF 后的第一个语句继续执行。如果 expr 为 "false",则仅执行 statementBlock2(如果有)中的语句,然后从 END IF 后的第一个语句继续执行。
statementBlock1 和 statementBlock2 可以包含任意数量的可执行语句,甚至可以包含其他 "嵌套" 的 if-block。
要仅条件执行单个语句,请考虑使用 IF 语句。要基于更复杂的条件条件执行语句块,请使用 SELECT CASE 语句。
比较浮点数与零或整数时要小心。以下表达式可能无法按预期进行评估
长 IF x# = 1
在此语句中,编译器将 x# 中的值与整数 "1" 进行比较。由于 SANE 和 PPC 数学都使用数字的近似值,因此 x# 的实际值虽然非常接近于 1,但实际上可能类似于 0.99999999,因此会产生意外的结果。