fujjima’s blog

主に備忘録

tap, yeild_selfについて

tapとyield_selfの使い分けについて

  • tapについて

tapはレシーバ自身を返すため、元々のレシーバの値を変更することなくメソッドチェーンをつなげることができる。 他の処理を行いながら、メソッドチェーンを行いたい時などに便利。

result = []
test = [1, 2, 3]

kekka = test.tap { |t| result << t.sum }.join('/')

result
=> [6]

kekka
=> "1/2/3"
  • yield_selfについて

yield_selfはブロック内の処理結果を返すため、

他の処理を行いながら、メソッドチェーンを行いたい時などに便利。