對上一層:  模型程式語言參考手冊 > 模型程式函數的參數及變數 >

甚麼時候使用 While 子句

Print this Topic Previous pageReturn to chapter overviewNext page

下面的函數傳回馬匹在過往所有賽事之中馬會評分的平均值:

HrAverage('HrRating( )')

 

這函數沒有任何的MCL條件式,投注樂會從馬匹的所有賽績之中提取資料進行統計。假如您只需耍計算馬匹過去180天賽事的平均分數,您可以在算式之中加入一MCL條件式:

HrAverage('HrRating( )',,'For HrDaysAgo( )<=180')

 

上面的函數利用了For子句設定提取資料的條件,只計算距即場賽事不超過180天(HrDaysAgo( )<=180)的賽事,這便可以正確地計算180天的平均分數。不過,假如條件算式只有For而沒有While,投注樂會搜尋馬匹過往的所有賽事,計算每一場賽事是否合乎條件,故此計算的速度較慢,假如我們把條件算式改成下例的While子句,速度便可以大大地提升:

HrAverage('HrRating( )',,'While HrDaysAgo( )<=180')

 

在計算這新的算式時,投注樂同樣由近至遠在往績中逐場比較所設定的條件。不過,一旦到達了一場條件不再成立的賽事,計算便會停止,再往後的賽事都會不理,這正正適合我們只計算最近的180天的賽事的要求。由於無須比較所有賽事,所以速度就大大地提升了。

 

注意:假如一條件式中同時有 For 和 While 子句,請把 For 子句放在 While 子句之前。

 

 


Page url: http://www.racematenet.com/help/index.html?when_to_use_the_while_keyword.htm