Ruby 2.5の`yield_self`が想像以上に何だかスゴい件について(翻訳)

概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: yield_self is more awesome than you could think 原文公開日: 2018/01/24 著者: Victor Shepelev(zverok) Ruby 2.5のyield_selfが想像以上に何だかスゴい件について(翻訳) …メソッド名はやっぱり最低だけど 既にご存じかと思いますが、Ruby 2.5でKernel#yield_selfメソッドが導入され、あらゆるオブジェクトで利用できるようになりました。第一印象では、その名のとおり適用対象のオブジェクトをyieldしてその結果を返すだけの、特にどうということもないメソッドかと思いました。 1.yield_self { |i| i + 2 } # => 3 しかし見た目の(馬鹿馬鹿しいほどの)シンプルさにもかかわらず、このメソッドは値の処理をすっきりとチェインできるという素晴らしい機能を与えてくれるのです。 # 変更前 url = construct_url response = Faraday.get(url) data = JSON.parse(response.body) id = data.dig(‘object’, ‘id’) || ‘<undefined>’ return “server:#{id}” # 以下は短い代わりに可読性が下がる return “server:” … Continue reading Ruby 2.5の`yield_self`が想像以上に何だかスゴい件について(翻訳)