Haskell入門8日目
八日目

- 作者: Miran Lipovača,田中英行,村主崇行
- 出版社/メーカー: オーム社
- 発売日: 2012/05/23
- メディア: 単行本(ソフトカバー)
- 購入: 25人 クリック: 580回
- この商品を含むブログ (69件) を見る
バイト先で見てます!!!って言われたし頑張ります!!!
よく考えたら明日も東京いくまでの間にできるじゃん。
5.6
$
... jQuery かな?- これ、括弧がいらなくなるやつでは…!!!!
- 括弧面倒臭かったんだよねえ
map
とかめっちゃ便利じゃんとにかく便利だった
突然わけのわからない
map
が出てきた$3
とは…- 関数適用それ自身を関数として扱えるようにする
$
に関数が入って、その引数に3をするということsqrt $ 3 => 1.73...
($) sqrt 3 => 1.73...
+
的な中置関数に見える
- 関数を引数にとったセクション と 評価されるのが後回しになる という2つの意味がありそう。
5.7
- 要するに
h x = f $ g x
が省略して書けるってことかなf.g $ 2
みたいに書けるんだね- ラムダ式書くときに使えそう
- なんで
replicate 2 . max 6 7
は無理なのにreplicate 2 . max 6 $ max 6 7
はいけるんだろう。- 全体的に最後の数値の前に
$
さえつければいけるなあ - 30分以上悩んでた。
- 全体的に最後の数値の前に
map (+6) . zipWith (+) [1,2] [2,3]
としてしまうと
((map (+6)) . (zipWith (+) [1,2] [2,3]))
になってしまって、こうしてしまうと右側を無理に関数と読もうとしておかしくなるのでは?という感じに落ち着きました。
直前に $
おけばいけるのはカリー化のおかげですね。
- 要するに数値であり関数ではない ということ。
- 上の式で
too many arguments
って怒られたんですけど関数を返すと考えれば当たり前ですね。 - なんでこんなんにこんな悩んでたんだろ。
- 上の式で
- ポイントフリースタイル、さっきまで考えてたことを踏まえればわかりやすかった
感想
- 無理にこういう仕様だと納得せずに考えたらわかったのでよかった
- (昔からこうだからちゃんとやろうとするとめちゃくちゃ遅くなるのがアレ)