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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rails 3中的tap方法 - 我是否正确理解了API Docs?相关的知识,希望对你有一定的参考价值。

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

person.tap |p| do

当我用Google搜索和it appears to have been deprecated or moved时。我的理解是否正确?

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

答案

tap方法一直在Ruby since 1.8.7

点击{| 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#tapActiveSupport猴子补丁已被弃用,因为它自1.9.0和1.8.7以来一直是Ruby的一部分。

以上是关于Rails 3中的tap方法 - 我是否正确理解了API Docs?的主要内容,如果未能解决你的问题,请参考以下文章

Iputils ping 不理解来自 TAP 设备的 ICMP 响应

Angular 教程中的 pipe 和 tap 方法是啥?

用 Rails 3 和 Foundation 4 覆盖 a:visited 的正确方法是啥?

Rails 3:在 Rails 中使用 JSON 响应 REST-ful 操作的正确方法是啥?

如何正确地将参数传递给rails表单

Rails - 在控制器中路由动作的正确方法