2010-07-04 84 views
1

這樣做配套:模式與雷亞爾(標準ML)

fun test a 0.0 = "good" 
    | test a b = "bad"; 

導致一個錯誤,但如果我更改了0.0錯誤消失。然而,我需要匹配0.0,我想知道是否以及如何完成。

回答

8

您可以使用if語句而不是模式匹配。

請注意,浮點運算容易出現舍入誤差,所以您應該檢查b的絕對值是否小於某個delta,而不是它等於0.0。我假設這正是爲什麼不允許模式匹配實數。