2012-04-07 11 views

Respuesta

10

El método tap ha estado en Ruby since 1.8.7:

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

Rendimientos x al bloque, y luego vuelve x. El objetivo principal de este método es "aprovechar" una cadena de métodos para realizar operaciones en resultados intermedios dentro de la cadena.

Tenga en cuenta que 1.8.6 no tenía Object#tap. Presumiblemente, tap estaba en versiones anteriores de Rails (como un parche de mono en Object), pero se agregó a Ruby en 1.8.7. Dado que 1.8.6 es bastante antiguo ahora, la versión de Rails quedó en desuso y, en las versiones más recientes de Rails, se eliminó por completo.

1.9.3 todavía tiene Object#tap por lo que tap en sí no se ha desaprobado, solo se ha eliminado la versión de Rails monkey parcheado.

+0

Disculpe mi ignorancia a medida que aprendo los conceptos básicos. Supongo que esto significa que aún puedo usarlo. Cuando dice "tocar en" ¿quiere decir que es como un "pegamento" entre los métodos cuando no se puede llamar directamente a un método? – user1149642

+0

@ user1149642: sí, aún puede usarlo. Los documentos a los que he vinculado tienen algunos ejemplos. –

4

El parche de mono Object#tap de ActiveSupport está en desuso debido a que ha sido parte de Ruby desde 1.9.0 y 1.8.7.