-1

2 未満の場合、リストの最初の n 要素を削除します。エラーは、「'print' の使用に起因する (showa0) のインスタンスはありません...」と表示されます。Haskell のエラー メッセージがわかりません

func [] _  _ = []
func (x:xs) counter n 
       |  x > 2 && counter < n = x :func xs counter limit 
       | otherwise = func xs (counter+1) limit 

main = do 
 print $  func [3,1,4,2,1] 0 2
 -- expectet output is [3,4,1]
4

1 に答える 1

1

これにより、コンパイル エラーが削除されます。

func [] _  _ = []
func (x:xs) counter n 
       |  x > 2 && counter < n = x :(func xs counter n )
       | otherwise = func xs (counter+1) n

main = do 
 print $  func [3,1,4,2,1] 0 2

limitの代わりに新しい変数を定義しましnた。takeまた、 や などのライブラリ関数を調べることもできますdrop

于 2013-10-12T00:52:22.583 に答える