Futurebasic/語言/參考/if
外觀 標準控制檯
IF expr THEN {dest1|statement1 [:statement2 ...]} ¬
[ELSE {dest2|statement3 [:statement4 ...]}] dest1 and dest2 are either line numbers or quoted statement labels.
根據 expr 的值,有條件地執行一個或多個語句,或跳轉到指定的行。如果 expr 被評估為“真”或非零,則程式要麼跳轉到 dest1 指定的行,要麼執行 statement1、statement2 等。如果 expr 被評估為“假”或零,並且您包含了 ELSE 子句,則程式要麼跳轉到 dest2 指定的行,要麼執行 statement3、statement4 等。每個語句都可以是任何可執行語句,除了“塊”語句,例如 FOR、WHILE、DO 等。expr 可以是數字表達式、邏輯表示式或字串。邏輯表示式通常包含“資料比較”運算子,可以被評估為“真”或“假”。以下是一些邏輯表示式的示例:x! > 19.7 myName$ = "RICK" 6*7 <= 42在 FB 中,數字表達式和邏輯表示式是可互換的。當在邏輯表示式的上下文中使用數字表達式時,如果它非零,則它被視為“真”,如果它是零,則它被視為“假”。例如:IF x+3 THEN BEEP這裡,只有當 x+3 不為零時,才會執行 BEEP。當在數字表達式的上下文中使用邏輯表示式時,如果為真,則它被評估為 -1,如果為假,則它被評估為 0。例如:found = (fileName$ = seekName$)這裡,如果 fileName$ 等於 seekName$,則將 -1 分配給 found;否則,found 被分配為 0。您可以在 expr 中使用 AND、OR、NOT 運算子。但是,請注意,這三個被認為是算術運算子,而不是邏輯運算子。如果您不小心,這可能會導致一些意想不到的結果。例如,此表示式:firstNumber& AND secondNumber&即使 firstNumber& 和 secondNumber& 都不為零(真),也可能評估為零(假)。當您希望在邏輯表示式的上下文中使用 AND、OR 或 NOT 時,您應該使用始終評估為 -1 或 0 的運算元。例如:firstNumber& <> 0 AND secondNumber& <> 0此表示式在“邏輯上”起作用,因為 (firstNumber&<>0) 始終為 -1 或 0;同樣地,(secondNumber&<>0) 始終為 -1 或 0。expr 也可以是字串。當在邏輯表示式的上下文中使用字串時,僅當字串的長度大於零時,它才會被評估為“真”。注意:IF 語句是一個單行結構。要建立跨越多行的條件結構,請使用 LONG IF 語句。比較浮點數與零或整數時要謹慎。以下表達式可能不會按預期評估:IF x# = 1在此語句中,編譯器將 x# 中的值與整數“1”進行比較。由於 SANE 和 PPC 數學都使用數字的分數近似值,因此 x# 的實際值,雖然非常接近於 1,但實際上可能是 0.99999999 之類的值,因此會導致意外結果。
LONG IF; AND; OR; NOT; SELECT CASE