多くのletステートメントで関数を定義しようとしていますが、エラーが発生し続けます。parse error on input 'let'
。私はまだハスケルに新しいので、実際にこの問題の原因を見ることはできません。ここで複数のletブロックを入力として `let 'を解析するとエラーが発生する
は私の関数である。それが問題とは無関係であるので、私は関数が行うことになっているかを説明しません
myFunc :: ([String], Int) -> (Int, Int, Int) -> ([String], Int)
nextGuess (prev_string, prev_int) (a1, a2, a3) = (new_string, new_int)
let new_int_1 = if a3 - a1 < 0
then prev_int
else (filter (myPred1 a3 prev_string) prev_int)
let new_int_2 = if a2 - a1 < 0
then new_int_1
else (filter (myPred2 a2 prev_string) new_int_1)
new_int = filter (myPred3 a1 prev_string) new_int_2
、私の主な問題は、最初let
にパースエラーが存在することです私は理由を知らない。
他の人は、すでにここで '〜'と ''どこ 'の違いについて答えているのですか?しかし、インデントに関しては、「do」、「let」などのレイアウトキーワードの後に改行+インデントしただけでは、問題にならないようになり(問題の整列を行う必要はありません) 、 'where'、' case' ... 'of'などがあります。 –