ブックマーク / jutememo.blogspot.com (1)

  • Haskell の mapM_ – foldr と (>>) を意識して

    1. mapM_ 関数は、どのように定義されているのか? Haskell の print 関数で文字列を連続して出力させたい場合、次のように書く。 main = do print "hoge" print "piyo" print "fuga" これを短かく書きたいなら、 main = mapM_ print ["hoge", "piyo", "fuga"] 最初、意味もわからず mapM_ の動作を覚えようとした。 ^^; なぜこのように書けるのだろう? 2. map, fold 系の復習から まずは map, fold 系の復習から。 map 関数は「各要素へ指定された関数 f を適用」する。 リストの要素を 2 倍するなら、 *Main> map (*2) [0..5] [0,2,4,6,8,10] これに対して、fold 系 の関数は大雑把なイメージとして、「各要素の間に二項演算子

    Haskell の mapM_ – foldr と (>>) を意識して
    redcat_prog
    redcat_prog 2016/11/19
    (・∀・)つ〃∩へぇーへぇーへぇー
  • 1