Reflection: Schreibender Zugriff

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 

Ergebnis:
0x21
0x100
0x7701f
487455

reification.rb