エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
HaskellのI/O コマンドラインの操作と遅延I/O 遅延評価をしない方法、mapMとmapM_、mapMによるreplicateMの実装、Monad - 計算機科学のブログ
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
HaskellのI/O コマンドラインの操作と遅延I/O 遅延評価をしない方法、mapMとmapM_、mapMによるreplicateMの実装、Monad - 計算機科学のブログ
% ghc sample01.hs [1 of 1] Compiling Main ( sample01.hs, sample01.o ) Linking sample01 ... kamimu... % ghc sample01.hs [1 of 1] Compiling Main ( sample01.hs, sample01.o ) Linking sample01 ... kamimura@MacBook lesson22 % ./sample01 1 a haskell "1" "a" "haskell" % import System.Environment myReplicateM :: (Monad m, Num a, Enum a) => a -> m b -> m [b] myReplicateM n func = mapM (\_ -> func) [1..n] main :: IO () main = do args <- getArgs let linesToRead = if length args > 0 then read (head args) else