我正在将 rails 2 应用程序升级到 rails 3.2 并且遇到了所谓的成语。
person.tap |p| do
当我用谷歌搜索它时,它似乎已被弃用或移动。我的理解正确吗?
我问是因为我可以在 SO 上找到一些例子。
我正在将 rails 2 应用程序升级到 rails 3.2 并且遇到了所谓的成语。
person.tap |p| do
当我用谷歌搜索它时,它似乎已被弃用或移动。我的理解正确吗?
我问是因为我可以在 SO 上找到一些例子。
该方法自 1.8.7 以来tap
一直在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 猴子补丁版本已被删除。
从 1.9.0 和 1.8.7 开始,Object#tap
monkey 补丁ActiveSupport
已被弃用,因为它已成为 Ruby 的一部分。