-3

ステートメントを出力して別の関数を呼び出す関数を作成しようとしていますが、どのような型を指定するかを定義するのに苦労しています。これが私がこれまでに得たものです。

コード:

bad_input :: --dont know what goes here
bad_input = putStrLn "Bad Input"
            evaluate_input      
4

1 に答える 1

1

まず、型シグネチャは必要ありません。ほとんどの場合、Haskell が推論してくれます。第 2 に、 の右側に式が必要ですが、=関連のない式が 2 つあるため、何らかの形でそれらを結び付ける必要があります。これは 3 番目のポイントにつながります: IO は命令型言語とはまったく異なりますIO。Haskell は非厳密な言語であるため、「実世界」とのやり取りを というモナドでラップする必要があるためです (つまり、計算は「ただ実行される可能性がある」ことを意味します)。 in time" - 入力/出力には適していません) および純粋な言語 (つまり、値が計算されると決して変化しないことを意味します)。

私はあなたのためにそのコードを書くことができますが、これは良いことよりも悪いことの方が多く、あなたを以前よりも混乱させてしまうと思います. したがって、Cat Plus Plus のアドバイスに従い、 http: //learnyouahaskell.com/ (またはhttp://book.realworldhaskell.org/ ) を読んで真の理解を得てください。簡単なことから始めましょう。Haskell では IO は簡単ではありません。

于 2013-02-26T13:04:28.040 に答える