2010-10-15 143 views
0

如何聲明一個函數如此listn:''列表 - >''列表 - > bool,listn xs和ys返回true。例如:lisen [#「1」#「2」],[#「1」「#3」]返回false,[#「1」,#「2」] [#「2」,#「 1" ]返回true幫助sml - 遇到困難

回答

0

試試這個:

infix member 
fun x member []   = false 
    | x member (y::ys) = x = y orelse x member ys; 

fun listn (x::xs) ys = x member ys andalso listn xs ys 
    | listn [] _  = true; 
+0

你的'listn'函數的最後一種情況將永遠不會被使用。如果第一個參數不爲空,則第一個參數將運行(不管第二個參數是否爲空)。如果第一個參數爲空,則第二個參數將運行(同樣是否第二個參數爲空)。 – sepp2k 2010-10-15 23:29:41

+0

謝謝隊友。出於某種原因,我的uni講師告訴我包括它。好東西你在這裏讓他直立;) – GeorgeWChubby 2010-10-16 10:13:27