Euphoria教學
Euphoria教學首頁
Euphoria 算術運算符
Euphoria介紹
Euphoria關係運算符
Euphoria環境設置(安裝)
Euphoria基本語法
Euphoria變量
Euphoria常量
Euphoria數據類型
Euphoria運算符
Euphoria邏輯運算符
Euphoria 賦值運算符
Euphoria分支語句
Euphoria if...elsif...else...endif 語句
Euphoria Switch語句
ifdef...elsifdef...elsedef...endifdef 語句
Euphoria 循環類型
Euphoria while循環
Euphoria loop until 語法
Euphoria for循環
Euphoria流程控制
Euphoria短路計算
Euphoria序列
Euphoria日期/時間
Euphoria 過程
Euphoria 函數
Euphoria 文件I/O
Euphoria短路計算
當條件測試由 if, elsif, until 或 while 使用 and 或 or 操作符, 短路計算將被使用。例如:
if a < 0 and b > 0 then
-- block of code
end if
如果 a < 0 是 false,那麼Euphoria 不會刻意去測試,如果 b 大於0。它會知道,總的結果是 false。同理:
if a < 0 or b > 0 then
-- block of code
end if
如果 a < 0 爲 true, Euphoria 將立即決定,結果爲 true,沒有測試b的值,因爲這個測試的結果會是不相干的。
通常:
每當我們有一個條件的形式:
A and B
其中 A 和 B 可以是任何兩個表達式,Euphoria 將採取短切當A 爲 false,並立即做出整體結果 false,看也不看錶達B.
同樣,每當我們有一個條件的形式:
A or B
當A爲 true,Euphoria 會跳過表達式B 的計算,並宣佈結果是 true .
短路計算(Short-circuit)發生,if, elsif, until 和 while 唯一的條件。在其他情況下它不被使用。例如:
x = 1 or {1,2,3,4,5} -- x should be set to {1,1,1,1,1}
如果短路,用在這裏,我們將設置x爲1,連看都不看{1,2,3,4,5},這是錯誤的。
因此,短路可在 if/elsif/until/while 條件,因爲我們只關心如果結果是真的還是 false,須出示原子和條件 .