質問

タイトルで述べているように:何がしますか The last statement in a 'do' construct must be an expression 平均?私は私の終わりを終えました do でブロックします putStrLn 私が見たいくつかの例でそれが示すように、私はエラーがあります。

コード:

main = do args <- getArgs
           file <-readFile "TWL06.txt"
           putStrLn results
役に立ちましたか?

解決

ほとんどの場合、それはあなたのコードが誤って調整されており、コンパイラがあなたの「do」ブロックが早期に終了したと想定しているためです(または実際に属さない追加のコードがある)

他のヒント

あなたの最後の行はそうではありません someVar <- putStrLn "hello", 、たまたまそうですか?最後の行で変数バインディングを実行しようとすると、そのエラーが発生します。 putStrLn "Hello" >>= \someVar -> - 最後に表現があると予想しています。

誤ったインデンテーションは、このエラーにつながる可能性があります。また、タブのみを使用しないのは良いことです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top