タグ

reduceとmapに関するkiyo_hikoのブックマーク (3)

  • C# で map とか reduce みたいな楽しいリスト操作をしたい

    プログラミング言語がロジックを組むのに向いているかいないかを判断するときの基準に、私はよく「文字列の操作が優れているか否か」「配列・辞書・集合の操作が優れているか否か」を評価点に挙げます。文字列や配列、辞書、集合の操作はほとんどすべてのアプリケーションで必要になり、それらの生産性が高く高速に処理してくれる言語ほど簡単で高速なロジックが組めると思うからです。 そういう意味でObjective-Cを考えると、文字列の操作はまぁまぁ良い(特にUnicode周りがなかなか優れている、正規化もできるし)のですが、配列・辞書・集合の操作がイマイチで、作るの面倒なら操作するのも面倒。さらには良く欲しくなる以下の操作が欠けています。map - 条件式を渡して、もとの集合の各要素に条件式を通した結果を新たな集合として返す。 reduce - 条件式を渡して、要素を前から順番に計算して畳み込み、集合から一つの

    kiyo_hiko
    kiyo_hiko 2015/07/15
    Xs.Aggregate(F, S => F ⊕ S);
  • VBA ちょっとスッキリ(Mapなど) - 定時にカエルVBA

    2015-03-30 VBA ちょっとスッキリ(Mapなど) Mapなどの記述を少しだけ簡略化したよ、というはなし 前回ブログに書いたMapなどの記述ですが、正直どうにかならないかなーと ビールを飲みながら考え、どうにかできました!まぁ、当にすこしですが(汗) でも前より全然いいはずっ! コード比較 '前回のバージョン Set MapAdd1 = Map.Bind(Fun1(AddressOf Add1)) . '今回改良バージョン Set MapAdd1 = Map.Bind(AddressOf Add1) 仕組み Map, Filter,Zip, Fold, Scan, Unfold, GroupByの7種類の関数に 関してはあらかじめインターフェース関数をPartialクラスで準備しておきます。 ということは裏を返すと上記以外は自前で用意しなければいけないです。 'Part

    VBA ちょっとスッキリ(Mapなど) - 定時にカエルVBA
  • Java8のStreamを使いこなす - きしだのHatena

    さて、Java8で関数型っぽいことをやって遊んでみたわけですが、実際はそんな書き方しませんよね。 Java8で実際に使うのは、Streamです。 ということで、Streamの使い方をひととおり見てみます。 ※5/17 仕様変更があったので、修正しました 基 まずは、Iterableインタフェースに用意されたforEachメソッドを見てみましょう。 List<String> names = Arrays.asList("hoge hoge", "foo bar", "naoki", "kishida"); names.forEach(s -> System.out.println(s)); これで次のように表示されます。 hoge hoge foo bar naoki kishida いままでの拡張forだと次のように書いてました List<String> names = Arrays.a

    Java8のStreamを使いこなす - きしだのHatena
  • 1