Ein Programm hat schreibenden Zugriff auf sich selbst:
Ändern der Klassendefinition durch hinzufügen, löschen, überschreiben von Operationen
Ändern der Klassenhierarchie durch Einfügung von Basisklassen, etc.
class Fixnum
alias old_to_s to_s
def to_s
sprintf("0x%x", self)
end
end
a = 487455
puts 33, 256, a, a.old_to_s
0x21 0x100 0x7701f 487455