2012-04-07 4 views

Antwort

10

Die tap Methode wurde in Ruby since 1.8.7:

Hahn {| x | ...} => obj

Yields x auf den Block, und dann kehrt x. Der Hauptzweck dieser Methode besteht darin, eine Methodenkette "anzuzapfen", um Operationen an Zwischenergebnissen innerhalb der Kette durchzuführen.

Beachten Sie, dass 1.8.6 Object#tap nicht hatte. Vermutlich war tap in älteren Versionen von Rails (als ein Affe-Patch auf Object), wurde aber zu Ruby selbst in 1.8.7 hinzugefügt. Da 1.8.6 jetzt ziemlich alt ist, war die Rails-Version veraltet und wurde in neueren Rails-Versionen vollständig entfernt.

1.9.3 hat noch Object#tap so tap selbst wurde nicht veraltet, nur die Rails Affe Patched Version wurde entfernt.

+0

Entschuldigen Sie meine Ignoranz, während ich die Grundlagen lerne. Ich nehme an, das bedeutet, ich kann es immer noch benutzen. Wenn Sie "tippen" sagen, meinen Sie es ist ein "Klebstoff" zwischen Methoden, wenn eine Methode nicht direkt aufgerufen werden kann? – user1149642

+0

@ user1149642: Ja, Sie können es immer noch verwenden. Die Dokumente, die ich verlinkt habe, haben einige Beispiele. –

4

Der Object#tap Affe-Patch von ActiveSupport ist veraltet, da er seit 1.9.0 und 1.8.7 zu Ruby gehört.