我正在將rails 2應用程序升級到rails 3.2,並遇到了描述爲成語的內容。Rails 3中的tap方法 - 我是否正確理解了API Docs?
person.tap |p| do
當我用Google搜索這一點,並it appears to have been deprecated or moved。我的理解是否正確?
我問,因爲我可以找到它的幾個例子。
我正在將rails 2應用程序升級到rails 3.2,並遇到了描述爲成語的內容。Rails 3中的tap方法 - 我是否正確理解了API Docs?
person.tap |p| do
當我用Google搜索這一點,並it appears to have been deprecated or moved。我的理解是否正確?
我問,因爲我可以找到它的幾個例子。
的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版本中完全刪除。
1.9.3仍然有Object#tap
所以tap
本身並沒有被棄用,只是Rails猴子補丁版本已被刪除。
的Object#tap
猴子補丁已被棄用,因爲它自1.9.0和1.8.7以來一直是Ruby的一部分。
當我學習基礎知識時,請原諒我的無知。我認爲這意味着我仍然可以使用它。 當你說「tap into」時,你的意思是當方法不能被直接調用時,它就像方法之間的「膠水」? – user1149642 2012-04-08 07:19:19
@ user1149642:是的,你仍然可以使用它。我鏈接的文檔有一些例子。 – 2012-04-08 09:04:31