タグ

2016年2月1日のブックマーク (1件)

  • SwiftのmapとflatMapがやっている事を理解する - Qiita

    便利だけど理解が難しいmapとflatMapですが、次のように捉えると自分としてはしっくりきました。 正確な表現ではないかもしれませんが、理解の参考になればと思います。 説明のための用語 mapやflatMapが呼ばれるインスタンスを「レシーバ」と呼ぶことにします。 と呼ぶ時のinstanceがレシーバです。 mapでやっていることを整理する mapは配列の各要素を変換して配列で返すイメージが強いと思いますが、 もう少し一般化して、次のようなステップを踏む処理だと捉えます。 1. レシーバのジェネリクスを解除してクロージャに渡す。 ここで言う「ジェネリクスの解除」とは、オプショナルならアンラップ、SequenceTypeなら個々の要素ごとにバラす事を表します。 2. 得られた値をクロージャ内の処理で変換する。 1で得られた値をクロージャに渡し、変換した値を返してもらいます。 3. 変換結果

    SwiftのmapとflatMapがやっている事を理解する - Qiita
    stilo
    stilo 2016/02/01
    ふむ。φ(..)メモメモ