2011-10-21 92 views
1

這是一個Quicksort函數。但我在5:46發生錯誤Haskell解析輸入錯誤'='

--sort function 
quicksort [] = [] 
quicksort (x:xs) = (quicksort lesser) ++[x] ++ (quicksort greater) 
         where lesser = filter (<) xs 
           greater = filter (>=) xs 

什麼問題? 看來,該功能是正確的。

+0

由於不變性,這實際*不是* Quicksort函數,但是這是關於什麼時候更適合使用該語言的討論。 – rtperson

回答

3

看起來你有一個簡單的空白錯誤.... lessergreater需要同樣縮進,以便他們開始在同一列。

+0

但他們的目的是平等的。只是在這裏它們不是平等的 –

+0

你必須在某個地方有一個製表符,因爲當它們沒有平均縮進時,這就是我收到的確切錯誤。 –

+2

@АртёмЦарионов - 確保您使用空格而不是製表符。如果你擔心你的拇指,你可以在你的編輯器中設置它。當標籤從你的源代碼中消失後,你會知道你的縮進是否正確。 – rtperson