私は最初にPythonで関数型プログラミングを手に入れた後、Haskellを学び始めました。1行のコードでIntを読み取るには?
まず最初に、悪い習慣は事実上すべてのプログラミング言語であり、純粋に教育以外の深刻な目的でこれを使用しないことを約束します。それは...
私が一番好きだったことの1つは、コードを読めるようにしながら、ただ1行のコードを使って関数を書くというエレガンスでした(C/C++スタイルのもの
私はトラフの質問を見て、少なくともいくつかの異なったhaskellチュートリアルや文書を試してみましたが、いくつかは近づいてきましたが、 1行のコードでIntを使用できます。
質問のために、私はキーボードのためにIntを読んで "Hello World!"それは何度も(HackerRankから恥知らずに盗まれた)。
私はgetLine
、readLn
、read
を使用してみましたが、物事には、唯一のIO操作が頑固に私にエラー私は別の声明に入れていなかったすべての時間を与えて立ち往生したままに、表記を行う代わりに、>>=
に見えました。
私が試してみました事のいくつか:
main :: IO()
main = readLn :: IO Int >>= \n -> mapM_ putStrLn $ replicate n "Hello World!"
が得られます。そして、
parse error on input ‘\’
main = readLn >>= \n -> read n :: Int >>= \n -> mapM_ putStrLn $ replicate n "Hello World!"
は同じエラーを与えます。
と同じ:私は正確
main = getLine >>= \n -> read n :: Int >>= \n -> mapM_ putStrLn $ replicate n "Hello World!"
何を理解していないのですか?前もって感謝します!
または 'readLn >> = sequence_です。フリップレプリケート(putStrLn "Hello World") ' (輸入不要) –