0
fun min [] = [] | min (h::t) = if h < (min t) then h else (min t)
爲什麼上面給出錯誤? 請幫忙! 謝謝!如何在整數列表中找到最小值?
錯誤消息:
stdIn:1.37 Error: overloaded variable not defined at type
symbol: <
type: 'Z list
fun min [] = [] | min (h::t) = if h < (min t) then h else (min t)
爲什麼上面給出錯誤? 請幫忙! 謝謝!如何在整數列表中找到最小值?
錯誤消息:
stdIn:1.37 Error: overloaded variable not defined at type
symbol: <
type: 'Z list
在空列表的情況下,將返回一個空的列表,其類型與類型元件如h
或min t
不兼容。
一些更正:
Empty
。因此函數的骨架是:
fun min [] = raise Empty
| min [x] = ...
| min (x::xs) = ...
這可能是更好的利用可選項的形式在這種情況下。您將避免必須處理異常,但無論您在哪裏調用此函數,都將被迫正確處理NONE情況。
fun smallest [] = NONE
| smallest (x::xs) = case smallest xs of
NONE => SOME x
| SOME y => if x < y
then SOME x
else SOME y
什麼是錯誤? –
@RB。 'stdIn:1.37錯誤:未定義類型爲 的重載變量符號:< 類型:'Z列表' 對不起,不知道爲什麼這裏沒有換行符 – sc1013
oops對於輸入錯誤:-) – sc1013