Rails 3中的tap方法 - 我是否正确理解了API Docs?

use*_*642 6 ruby ruby-on-rails ruby-on-rails-3.2

我正在将rails 2应用程序升级到rails 3.2,并且遇到了被描述为成语的内容.

person.tap |p| do

当我用Google搜索时,它似乎已被弃用或移动.我的理解是否正确?

我问,因为我可以在SO上找到一些例子.

mu *_*ort 10

从1.8.7tap开始,该方法一直在Ruby中:

点击{| x | ...} => obj

产量x到块,然后返回x.此方法的主要目的是"利用"方法链,以便对链中的中间结果执行操作.

请注意,1.8.6没有Object#tap.据推测,tap是在旧版本的Rails(作为猴子补丁Object),但在1.8.7中被添加到Ruby本身.由于1.8.6现在相当古老,Rails版本已被弃用,并且在最近的Rails版本中,完全删除了.

1.9.3仍然有Object#tap如此tap本身没有被弃用,只是Rails猴子修补版本已被删除.