リストを指定して重複を削除してソートし、リストの先頭に "0"を付けて確実に間違ったソート関数を作成しようとしていますひどくソートされた新しいリストの長さは元のリストのサイズと同じです。Haskellでの入力位置の解析エラー
これは私のコードです:
dodgySort4 xs = (replicate ((length xs) - (length (badQuick xs)) 0) : badQuick xs
where
badQuick [] = []
badQuick (x:xs) = (badQuick lesser) ++ [x] ++ (badQuick greater)
where
lesser = filter (< x) xs
greater = filter (> x) xs
はしかし、私は、私は問題が何であるかはかなりわからないんだけど、最初の冒頭に「入力時にエラーを解析 『』」エラーを得続けます?
@kennytm質問を書いている間に私が間違っていたwhoops。実際のコードには新しい行がありません – reetyn
実際のエラーはありませんか?それとも?ちなみに、あなたの 'badQuick'は本当に悪いです、' x'に等しいすべての値を失います。 'badQuick [1,1,1,1,1,1,1]'は '[1]'になります。 – Zeta
@Zetaいいえエラーがあります!私はちょうどその質問にコードを書くときにその新しい行を追加しました。とにかく、それはbadQuickの目的です - それはすべての重複を削除するので、私は元のリストと同じ長さになるように0で頭を埋めます...それは長さのプロパティをテストするquickCheckを感じることを意味します(xs)= length(dodgySort4(x) – reetyn