求解釋一下if(條件,A,B)的運算機理?
作者:金字塔 來源:cxh99.com 發布時間:2015年06月04日
- 咨詢內容:
有如下語句m:=if(條件,A,B);A和B都是有一定復雜度的計算式,請問程序執行時,是滿足條件則計算A,不滿足條件則計算B;還是先計算出A和B的結果,滿足條件則取A的值,不滿足條件則取B的值?
上述問題可能比較無聊,一個更具體的情況如下:后臺逐k線1秒輪循模式下有如下外部引用語句:m:"ccc.A#min1";而外部引用指標A是經過較多語句運算得到的。在輪循模式下每個k線上都調用A感覺太影響速度,想改為:m:if(islastbar,"ccc.A#min1",0);即僅在最后一根k線上調用ccc.A,否則取0.不知道這樣改是否可以提高運行效率?
[此貼子已經被作者于2014/4/30 17:45:52編輯過]
- 金字塔客服:
計算方式是寫在外面先計算外面,寫在里面就先判斷if再計算表達式