2017-06-11 40 views
0

我正在寫完一個腳本,但我有一個最後的條件語句添加到我的函數中。標準ML多條件語句

fun whileloop (x:real,a:int,b:real) = 
    if (a<1) 
    then (x,a,b) 
    else whileloop(x+1.0,a-1,b-1.0) 

這是我創建的當前循環。在一個例外情況下,基本上完成了我所需要的一切。一旦b變量達到零[如果這發生在達到零之前),我希望它退出它的循環。我相信Standard ML不會讓我爲一個實際變量做一個條件聲明......比如b < 1.0。只是爲了給你什麼,我試圖完成一個想法......我想下面的代碼如下工作:

fun whileloop (x:real,a:int,b:real) = 
    if (a<1 or b<1.0) 
    then (x,a,b) 
    else whileloop(x+1.0,a-1,b-1.0) 
當然

這段代碼不會因爲工作的語法和條件語句中核對一個真實的數字...但我怎麼能完成這項任務,同時保持我的骨架有點完好。我只是想添加另一條條件語句到現有的骨架。在C++中,這是一個相當簡單的任務。

+2

錯誤的關鍵字。 '或'=>'orelse'。隨着這種變化你的第二個功能按預期工作。 –

+0

謝謝,沒意識到我太親近了! – Busta

回答

1

這是答案。感謝John Coleman。

fun whileloop (x:real,a:int,b:real) = 
    if (a<1 orelse b<1.0) 
    then (x,a,b) 
    else whileloop(x+1.0,a-1,b-1.0)