3

Haskell は初めてで、簡単なプログラムを書こうとしています。ただし、次のプログラムを実行すると、次のようになります。

main = do
    args <- getArgs
    let w = read (args !! 0) :: Integer
    in print w

次のエラー メッセージが表示されます。

file.hs:4:5: 入力「in」の解析エラー

同じ構文は、ステートメントletの外でも問題なく機能します...do

私は何を間違っていますか?

4

1 に答える 1

6

ブロック内ではlet構文が異なります。doこの部分は必要ありませんin。変数のスコープは自動的にdoブロックの残りの部分になります。

あなたの場合:

main = do
    args <- getArgs
    let w = read (args !! 0) :: Integer
    print w
于 2013-11-14T14:58:00.193 に答える