タグ

ブックマーク / blog.aotak.me (1)

  • [Ruby] メソッドのsymbolをprocにしつつ引数を部分適用する - あおたくノート

    タイトルまま。 ……と言ってもたぶんピンと来ないので、ひとつずつ説明していく。 こういうコードをよく書く。 [*1..10].inject {|sum, i| sum + i } 1.9でこう書けるようになった。 [*1..10].inject(:+) また、メソッドのシンボルを渡せないmapのようなメソッドも、メソッドのシンボルをprocに変換してブロック引数として渡せるようになったので、 [*1..10].map(&:succ) #=> [2,3,4,...,11] のようなことができるようになった。 非常に便利だが、ネストした配列をmapで掘りながらinjectしたいとか思うと、 [[*1..10],[*11..20],[*21..30]].map {|arr| arr.inject(:+) } となって、arrのあたりが冗長だ。 できることなら、 [[*1..10],[*11..2

    [Ruby] メソッドのsymbolをprocにしつつ引数を部分適用する - あおたくノート
    mactkg
    mactkg 2015/01/26
    おもしろかった
  • 1