タグ

ブックマーク / qiita.com/irohiroki (1)

  • yield_selfを使ったリファクタリング - Qiita

    概要 Ruby 2.5で追加されたKernel#yield_selfを使ったRailsアプリのリファクタリング例を3つ紹介する。また、Kernel#yield_selfと同一の機能を表す Tコンビネータ を含む コンビネータ論理 と、上位互換となる実装についても紹介する。 yield_selfとは yield_selfはブロックを受け取り、そのブロック引数に"自分"を渡すメソッドです。例えば下のコードでは (a - b)の結果がnとなり、ブロックの実行結果が最終的な値となります。同じことをyield_selfを使わずに書くと、a - bの結果を保存する変数を(ブロックの外側に)用意するか、(a - b)を2回書かなければなりません。 以下ではyield_selfをRailsアプリのリファクタリングに使う実践的な例を見ていきます。 例1. フィルタリングとソートをするindexアクション 下

    yield_selfを使ったリファクタリング - Qiita
  • 1