タグ

ブックマーク / rubikitch.hatenadiary.org (2)

  • tapかわいいよtap - http://rubikitch.com/に移転しました

    Ruby 1.9で導入されたObject#tapはRuby 1.8でも1.8.7から使えるようになった。 tapメソッドとは何かというと、自分自身にブロックを作用させて自分自身を返すだけのメソッドだ。つまり副作用専門メソッド。定義はいたって簡単、コレ。 class Object def tap yield(self) self end end たとえば、1〜4の二乗のうち10以上のものを求めたいんだけど、デバッグ時とかで途中経過である1〜4の二乗を表示してほしいなんて場合はこんな感じに。いらなくなったらtapの部分を消せばいい。楽チン。 ary = [1, 2, 3, 4] ary.map{|x| x**2}.tap{|a| p a}.select {|x| x>10 } # => [16] # >> [1, 4, 9, 16] ほかにも、破壊的メソッドを適用した後で自分自身を返す場合にも

    tapかわいいよtap - http://rubikitch.com/に移転しました
    korin
    korin 2011/05/19
  • 2008-07-10

    fluent interface 流れるようなインターフェイス - #生存戦略 、それは - subtech Ruby でキーワード引数的な Fluent Interface の実装 - #生存戦略 、それは - subtech 流れるようなインターフェースとメソッドチェーンは違うもの - yvsu pron. yas 最近は流れるようなインターフェースが人気のようだ。 この書き方だと、option がたくさんある時にかっこわるい。 obj.foo(name, :foo => 'bar', :baz => 2) そっかぁ? けっこう好きなんだけど。 Ruby 1.9だと 「obj.foo(name, foo: 'bar', baz: 2)」 なんて書けるし。 fluent = FluentInterface.fluent WEBrick::HTTPServer, :new server =

    2008-07-10
    korin
    korin 2008/10/18
    これを参考にすれば!!
  • 1