dogwood008の開発メモ!

最近のマイブームは機械学習, Ruby on Rails。中でも機械学習を使った金融商品の自動取引に興味があります。

【Ruby】Object#yield_selfとObject#then

要旨

# カレントユーザに所属する最新のコンテンツについて、
# 公開済みならそのタイトルを、未公開なら「(下書き)」を返す

latest_title = 
  current_user.contents.last.then { |content|
    content.published? ? c.title : '(下書き)'
  }

詳細

Object#yield_selfObject#then は、ブロックの中身を評価した結果を返す。主にメソッドチェインしてちょっとした処理をすることで役にたつ。

Ruby 2.5から Object#yield_self が導入され、Ruby2.6からそのエイリアスとして Object#then が導入された。

詳細

docs.ruby-lang.org

www.ruby-lang.org

www.ruby-lang.org

bugs.ruby-lang.org

bugs.ruby-lang.org