みんな大好き Object#tap
でもこんなソースはあまり書きたくない。
foo.bar.baz.tap do |baz| do_something(baz) if baz end
tap_if
とかあれば便利じゃない?
foo.bar.baz.tap_if do |baz| do_something(baz) end # もしくは foo.bar.tap_if(:baz) do |baz| do_something(baz) end
似たようなことを考える人はいるものですでにある。→ tap-if | RubyGems.org | your community gem host
そして Rails やる上では try
で事足りることがわかった。ブロック取れるのか。
foo.bar.baz.try do |baz| do_something(baz) end # もしくは foo.bar.try(:baz) do |baz| do_something(baz) end結論:
Object#try
サイコー
0 件のコメント :
コメントを投稿