1
在學習SML時,我想出了以下問題。看看這個例子:SML:布爾函數
fun check (elem,myList) =
let
fun check1 elem [] = fn (x,_,_) => elem > x
fun check2 elem [] = fn (_,y,_) => elem < y
in
if check1 andalso check2 then 1 else 0
end
探針是如果那麼規則在這裏不起作用。爲什麼?據我瞭解,check1和check2應該返回BOOL值,它允許使用IF THEN。我試圖聲明局部變量,但這並沒有幫助解決問題。
函數'check'應該只返回0或1,這取決於check1和check2的邏輯AND的結果。此功能只能在 的 check1 結束時編譯。但這不是我所需要的。 – 2011-12-19 13:51:41
好吧,我明白了這個問題。這個功能的邏輯與我所考慮的完全不同。 – 2011-12-19 14:04:51