Looking for ruby Answers? Try Ask4KnowledgeBase
Looking for ruby Keywords? Try Ask4Keywords

Ruby LanguageParches de mono en rubí


Observaciones

El parche del mono, aunque es conveniente, tiene algunas trampas que no son evidentes de inmediato. En particular, un parche como ese en el ejemplo contamina el alcance global. Si los dos módulos añaden Hash#symbolize , solo el último módulo requerido aplica su cambio; el resto son borrados.

Además, si hay un error en un método parcheado, el seguimiento de la pila simplemente apunta a la clase parcheada. Esto implica que hay un error en la clase Hash (que ahora existe).

Por último, dado que Ruby es muy flexible con los contenedores para guardar, un método que parece muy sencillo cuando lo escribes tiene muchas funciones no definidas. Por ejemplo, crear Array#sum es bueno para una matriz de números, pero se interrumpe cuando se le da una matriz de una clase personalizada.

Una alternativa más segura son los refinamientos, disponibles en Ruby> = 2.0.

Parches de mono en rubí Ejemplos relacionados