4
我想寫一個函數,只從列表中提取奇數。喜歡的東西:SML [圓形]錯誤
fun odd(nil) = nil
| odd(a::nil) = a
| odd(a::(b::c)) = a::odd(c);
但它會導致這個錯誤:
operator and operand don't agree [circularity]
我想寫一個函數,只從列表中提取奇數。喜歡的東西:SML [圓形]錯誤
fun odd(nil) = nil
| odd(a::nil) = a
| odd(a::(b::c)) = a::odd(c);
但它會導致這個錯誤:
operator and operand don't agree [circularity]
在你的第二個案例odd(a::nil) = a
返回a
,這是一個單一的元素。在另外兩種情況下,你會返回一個列表。如果您將其更改爲odd(a::nil) = [a]
,那麼所有情況都會返回一個列表,它會起作用。
是的,你是rigth。謝謝。馬爾科 – marco 2011-01-10 19:30:50