Ruby Language
Parches de mono en rubí
Buscar..
Mono parcheando una clase
El parche del mono es la modificación de clases u objetos fuera de la misma clase.
A veces es útil agregar funcionalidad personalizada.
Ejemplo: Omitir clase de cadena para proporcionar análisis a booleano
class String
def to_b
self =~ (/^(true|TRUE|True|1)$/i) ? true : false
end
end
Como puede ver, agregamos el método to_b()
a la clase String, por lo que podemos analizar cualquier cadena a un valor booleano.
>>'true'.to_b
=> true
>>'foo bar'.to_b
=> false
Mono parcheando un objeto
Al igual que el parcheo de clases, también puede parchear objetos individuales. La diferencia es que solo una instancia puede usar el nuevo método.
Ejemplo: anular un objeto de cadena para proporcionar análisis a booleano
s = 'true'
t = 'false'
def s.to_b
self =~ /true/ ? true : false
end
>> s.to_b
=> true
>> t.to_b
=> undefined method `to_b' for "false":String (NoMethodError)
Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow