2011-11-03 70 views
0

我試圖用ml來解決一個問題,並且我有點卡住了。原諒我,這是微不足道的代碼,但回答它將解決我的大部分問題。標準ml quicksort

代碼:

val sorted = ([3, 2, 1], [5, 8, 4]); 
fun loop ([]) = [] 
    | loop (x::xs) = [3] @ [4]; 
loop sorted; 

錯誤:

Error-Can't unify 'a list with int list * int list (Incompatible types) Found near loop (sorted) 
Static errors (pass2) 
+0

如果您發現您現在已經理解了您的問題的答案,並且它不完全包含在newacct的答案中,那麼您可以在自己的答案中提供您的解釋。不要編輯他的。 –

+0

我很好,但好奇。爲什麼不? –

+0

因爲編輯僅用於讓其他人修復格式或拼寫錯誤。讀者根據其初始內容已經對讀者投票的問題添加了意思,他可能沒有打算這樣做。另一方面,對你自己的問題寫一個答案是完全可以接受的。 –

回答

1

sorted是兩個列表的元組。 loop需要列表參數

+0

那麼如何將其更改爲接受元組,對於我的newb類型問題感到抱歉。我只是不認識SML中的數據類型。 –

+0

基本上,循環的參數應該看起來像兩個東西的元組。我真的不知道你想要什麼,但可能像'loop(a,b)'或'loop([],[])'或'loop(x :: xs,x :: xs)'。你明白了。 – newacct