Haskellを学習するのにPaiza.ioをよく使っていますが、標準入力を使うようなプログラムエラーになってしまいます。
Paiza.jpの問題や参考書のサンプルプログラムを書こうとするとき、PC上にHaskellの実行環境が必要になります。
WindowsにStackなどでインストールしてもよいのですが、もっと簡単にDocker上で実行させる方法を自分用にメモっておきます。
Dockerを起動して以下のコマンドを実行。
MINGW64 ~/work/local/docker/haskell
$ docker pull haskell
簡単なプログラムを書いてみます。5回、数値を入力してEnterを押すと合計を出すプログラムです。
プログラムの問題にありそうな「N回入力をして~」の形です。
(ファイル名:five_time_reduce.hs)
import Control.Monad
main = do
s <- replicateM 5 getLine
putStrLn . show . foldl (+) 0 . map read $ s
実行してみます。Windowsでは$(pwd)
の前に/
が必要です。
5回数値を入力すると結果が表示されます。
MINGW64 ~/work/local/docker/haskell
$ docker run -it --rm -v /$(pwd):/app -w /app haskell runghc five_time_reduce.hs
1
2
3
4
5
15
参考URL : http://sinsoku.hatenablog.com/entry/2015/10/24/095140
以上です。