Ciao a tutti,
vi pongo un questito un pò newbie ma io non sono riuscito a venirne a capo.
Ho bisogno di iniettare dei metodi statici in alcuni oggetti, ma non so
come
fare.
Di solito uso i Moduli per iniettare funzionalità condivise, in questo
modo:
class AAA
include CCC
end
class BBB
include CCC
end
Module CCC
def metodo_per_a_e_c
p ‘chiamato metodo_per_a_e_c!’
end
end
Ciao a tutti,
vi pongo un questito un pò newbie ma io non sono
riuscito a venirne a capo.
Ho bisogno di iniettare dei metodi statici in alcuni
oggetti, ma non so come
fare.
piccola pedanteria inutile: in realtà sono metodi di
classe, la differenza (al 99% inutile) è nel fatto che
un metodo statico non ha un “self”.
Ad ogni modo, credo che ciò che cerchi sia “extend”
C=Class.new
=> C
module M
def ciao() “ciao” end
end
=> nil
C.extend M
=> C
C.ciao
=> “ciao”