monkeypatching

Cuando monkey parchea un método, ¿puede llamar al método anulado desde la nueva implementación?

Digamos que estoy parcheando un método en una clase, ¿cómo podría llamar al método sobreescrito desde el método sobreescrito? ... bar() "Hello" end end class Foo def bar() super() + " World" end end >> Foo.new.bar == "Hello World"

¿Qué es el parche de mono?

Estoy tratando de entender, ¿qué es un parche de mono o un parche de mono? ¿Es algo así como métodos/operadores sobrecargando o delegando? ¿Tiene algo en común con estas cosas?

Agregar un método a una Instancia de Objeto Existente

He leído que es posible agregar un método a un objeto existente (es decir, no en la definición de clase) en Python. Entiendo que no siempre es bueno hacerlo. Pero, ¿cómo se puede hacer esto?

¿Cómo agregar propiedades a una clase dinámicamente?

El objetivo es crear una clase simulada que se comporte como un conjunto de resultados de bd. Así que, por ejemplo, si una c ... ia en tiempo de ejecución? P.d. Soy consciente de una alternativa presentada en ¿Cómo se utiliza el método __getattribute__?

¿Cómo un mono parchea una función en python?

Estoy teniendo problemas para reemplazar una función de un módulo diferente con otra función y me está volviendo loco. Digam ... ro en lugar de eso obtengo esto: Something expensive! Something expensive! Something expensive! ¿Qué estoy haciendo mal?

Monkey parcheando una clase en otro módulo en Python

Estoy trabajando con un módulo escrito por otra persona. Me gustaría patchear el método __init__ de una clase definida en el ... a copia en thirdpartymodule_b, en lugar de thirdpartymodule_a. por ejemplo, thirdpartymodule_b.SomeClass.__init__ = new_init.

En Rails, ¿cómo añadir un nuevo método a la clase String?

Quiero construir un índice para diferentes objetos en mi proyecto Rails y me gustaría añadir un método 'count_occurences' que ... ng_here end end ¿Cuál es la forma exacta de definir este método, y dónde poner el código en mi proyecto Rails? Gracias

¿Puedo agregar métodos/atributos personalizados a tipos Python integrados?

Por ejemplo-digamos que quiero agregar un método helloWorld() al tipo dict de Python. ¿Puedo hacer esto? JavaScript tiene un ... () //alerts "Hello, Jed!" Aquí hay un enlace útil con más ejemplos- http://www.javascriptkit.com/javatutors/proto3.shtml

¿Puedo parchear un decorador Python antes de que envuelva una función?

Tengo una función con un decorador que estoy probando con la ayuda de la biblioteca Python Mock. Me gustaría usar mock.parch ... s diferentes en el objetivo del parche y reordenar el parche y las instrucciones de importación, pero sin éxito. Alguna idea?

Agregar dinámicamente una propiedad o método a un objeto en groovy

¿Es posible agregar una propiedad o un método a un objeto dinámicamente en Groovy? Esto es lo que he intentado hasta ahora: ... g.MissingPropertyException: No such property: bye for class: Greet Possible solutions: name at test.run(greet.groovy:11)

Cómo multiplicar funciones en python?

def sub3(n): return n - 3 def square(n): return n * n Es muy fácil componer funciones en python: >>> my ... completamente, y esto es incluso más feo que el "lameda" sin duda. Quiero emparejar las funciones . ¿Cómo puedo hacer eso?

Mono parcheando una @ propiedad

¿Es posible patchear el valor de un @property de una instancia de una clase que no controlo? class Foo: @property d ... e, pero el comportamiento cambiado debe solo afecta selectivamente una instancia dada, no todas las instancias de esa clase).

Enfoque recomendado para patchear una clase de mono en ruby

He notado que hay dos formas comunes de patchear una clase en ruby: Defina los nuevos miembros de la clase de la siguiente ... #do stuff end end Me pregunto si hay alguna diferencia entre los dos y si hay ventajas de usar un enfoque sobre el otro?

Monkey patching Vs. S. O. L. I. D. principios?

Me estoy moviendo lentamente de PHP5 a Python en algunos proyectos personales, y actualmente me encanta la experiencia. Antes ... es mejor usar uno sobre el otro, si el parche de mono debe hacerse en absoluto... espero que pueda resolver el asunto por mí.

¿Cómo puedo monkey-patch un método de instancia en Perl?

Estoy tratando de monkey-patch (duck-punch :-) una LWP::UserAgent instancia, así: sub _user_agent_get_basic_credentials_pat ... do subclase el UserAgent, pero preferiría el enfoque más conciso parcheado con mono. Adultos que consienten y lo que sea. ;-)