エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント2件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
猿でも持ち上げられるモナド - まめめも
最近やっとモナドの持ち上げ方を理解した気分になりました。StateT + IO 限定で。 State モナドを使って... 最近やっとモナドの持ち上げ方を理解した気分になりました。StateT + IO 限定で。 State モナドを使って以下のようなコードを書いていたとき、 module Main(main) where import Control.Monad.State -- 階乗計算 fact :: State (Int, Int) Int fact = do (a, b) <- get -- (A) if a == 0 then return b else do modify $ \(a, b) -> (a-1, a*b) fact main :: IO () main = do let x = evalState fact (10, 1) print x コメントの (A) の位置で (a, b) の値を表示したくなったときに使える技です。 module Main(main) where impor
2008/03/06 リンク