ハスケルに多くの問題を抱えているクラスの小さな課題に取り組んでいます。私は整数がリストの一部であるかどうかを見つけるための再帰的なメソッドを作成しようとしています。私はその要点を知っていますが、haskell構文で正しく機能するようにはできません。現在のリストが空であるかどうかをチェックし、そうであればFalseを返し、整数が現在のリストの先頭と等しいかどうかをチェックし、Trueであれば検索している値と同じ値で再度メンバーを呼び出し、リスト。これを正しく機能させるためには何ができますか?ハスケルのメンバー関数
member ::Int -> [Int] -> Bool
member x y
if y [] then False
else if x == head y then True
else member x tail y
私も初めラインとして
member :: (Eq x) => x -> [x] -> Bool
を使用してみましたが、また多くのsimplier:
let member x y = if null y then False
else if x == head y then True
else member x tail y
すべてのヘルプ
は現在、これは私が持っているものです感謝されます。あなたがより明確にそれを書くことができますパターンマッチングと
$を追加すると、元のバージョンが機能します。アプリケーションは左結合です。 – bipll
これを追加しましたが、今このエラーが発生しています。解析エラー:トップレベルでの裸の表現 おそらく、あなたはTemplateHaskellを使用しようとしていたでしょう – Elmangos
適切な字下げを忘れていませんか? – bipll