タグ

2013年8月29日のブックマーク (3件)

  • Cocoaの日々: 10分でおぼえるBlocksの書き方

    iOS/iPhone/iPad/MacOSX プログラミング, Objective-C, Cocoaなど Blocksが使えるようになってはや数年。未だに書式が覚えられないわたし(あなた)の為に書き方をまとめてみた。 基型 戻り値 (^名前) (引数)(私が勝手に決めた)基型はこれ。これを覚えないことには始まらない。とにかくこれだけは覚える。 戻り値と引数は一般的なCの関数の書き方と同じなので、名前の書き方だけ (^名前) になったと覚えるのがいい。 (例)BOOL (^completion)(BOOL canceled) = ...;この基型を元に各場面でどう使うかを見ていく。 変数宣言・typedef宣言 変数宣言なら 戻り値 (^名前) (引数) = …;typedef宣言なら typedef 戻り値 (^名前) (引数);両方とも基型がそのまま使える。 (例)type

    Cocoaの日々: 10分でおぼえるBlocksの書き方
  • カリー化談義 - あどけない話

    最近、スタートHaskellで「カリー化された関数のメリットは何か?」という質問が出た。そのすぐ後に、kmizuさんがカリー化の誤用に対して警鐘を鳴らしてしていた。僕からするとkmizuさんの「カリー化の定義」も誤用に思えたので、調べるとともに考えたことのまとめ。 いろんな定義 「カリー化する」という用語は、すくなくとも以下の3つの意味で使われているようだ。 部分適用という意味 これは明らかに間違い 「複数の引数を取る関数」を「一引数を取る関数のチェインに直す」こと これはkmizuさんの定義。世間でもよく使われる。 「構造体を一つ取る関数」を「構造体のメンバーを複数の引数にばらし、一引数を取る関数のチェインに直す」こと これは僕の定義。というか、Haskellコミュニティの定義。 「部分適用」の意味で使うのは明らかに間違いのなで排除。定義2と3について議論する。あとで、部分適用とは何かに

    カリー化談義 - あどけない話
  • Scalaで萌える関数型プログラミング[完全版]

    「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)parrotstudio

    Scalaで萌える関数型プログラミング[完全版]