這是一個Quicksort函數。但我在5:46發生錯誤Haskell解析輸入錯誤'='
--sort function
quicksort [] = []
quicksort (x:xs) = (quicksort lesser) ++[x] ++ (quicksort greater)
where lesser = filter (<) xs
greater = filter (>=) xs
什麼問題? 看來,該功能是正確的。
這是一個Quicksort函數。但我在5:46發生錯誤Haskell解析輸入錯誤'='
--sort function
quicksort [] = []
quicksort (x:xs) = (quicksort lesser) ++[x] ++ (quicksort greater)
where lesser = filter (<) xs
greater = filter (>=) xs
什麼問題? 看來,該功能是正確的。
看起來你有一個簡單的空白錯誤.... lesser
和greater
需要同樣縮進,以便他們開始在同一列。
但他們的目的是平等的。只是在這裏它們不是平等的 –
你必須在某個地方有一個製表符,因爲當它們沒有平均縮進時,這就是我收到的確切錯誤。 –
@АртёмЦарионов - 確保您使用空格而不是製表符。如果你擔心你的拇指,你可以在你的編輯器中設置它。當標籤從你的源代碼中消失後,你會知道你的縮進是否正確。 – rtperson
由於不變性,這實際*不是* Quicksort函數,但是這是關於什麼時候更適合使用該語言的討論。 – rtperson