Rails2アプリケーションをRails3.2にアップグレードしていて、イディオムと呼ばれるものに出くわしました。
person.tap |p| do
これをグーグルで検索したところ、非推奨または移動されたようです。私の理解は正しいですか?
SOでその例をいくつか見つけることができるので、私は尋ねます。
Rails2アプリケーションをRails3.2にアップグレードしていて、イディオムと呼ばれるものに出くわしました。
person.tap |p| do
これをグーグルで検索したところ、非推奨または移動されたようです。私の理解は正しいですか?
SOでその例をいくつか見つけることができるので、私は尋ねます。
tap
メソッドは1.8.7からRubyにあります:
タップ{|x| ...} => obj
x
ブロックに降伏してから、を返しますx
。このメソッドの主な目的は、チェーン内の中間結果に対して操作を実行するために、メソッドチェーンを「利用」することです。
1.8.6にはがなかったことに注意してくださいObject#tap
。おそらく、tap
Railsの古いバージョン(のモンキーパッチとしてObject
)にありましたが、1.8.7でRuby自体に追加されました。1.8.6はかなり古いため、Railsバージョンは非推奨になり、最近のRailsリリースでは完全に削除されました。
Object#tap
はまだ存在しているため、tap
それ自体は非推奨ではなく、Railsモンキーパッチバージョンのみが削除されています。
のObject#tap
モンキーパッチActiveSupport
は、1.9.0および1.8.7以降Rubyの一部であるため、非推奨になりました。