0
我在Haskell的代碼片段下面實現了一個快速排序算法。如何使用「let」關鍵字在Haskell中定義多個變量
quicksort :: (Ord a) => [a] -> [a]
quicksort [] = []
quicksort (x:xs) =
let smaller = quicksort [a | a <- xs, a <= x]
bigger = quicksort [a | a <- xs, a > x]
in smaller ++ [x] ++ bigger
但是它不會被GHCI編譯並且它告訴第5行有語法錯誤。但我已經檢查了「let」關鍵字的Haskell語法,它似乎沒問題。有沒有人可以幫助我解決這個問題?非常感謝。
因爲'let'不能在同一列的功能的,在這種情況下,第1欄只需添加一個空間開始5 – HuStmpHrrr
有點unreladely你的問題行的開頭,但它可以幫助你不知何故,如果你正在學習haskell:請注意,這個算法不是真正的快速排序。它不使用常量內存。 http://augustss.blogspot.cz/2007/08/quicksort-in-haskell-quicksort-is.html – user1747134