Er ist eines der Hauptelemente von Ruby: Der Garbage Collector, zu deutsch etwa »Müllsammler«. Er kümmert sich darum, dass Objekte, zu denen keine Referenz mehr existiert, entfernt werden und somit speichereffizient gearbeitet werden kann.
FunktionsweiseDer Haupt-Ruby-Interpreter MRI verwendet einen sogenannten »Mark-and-sweep«-Ansatz. Das heißt, der Garbage Collector durchläuft hin und wieder alle momentan aktiven Objekte und markiert (engl. mark) diejenigen, zu denen eine Referenz existiert. In einer zweiten Phase, die im Anschluss an die Mark-Phase gestartet wird, entfernt er nun die nicht markierten Objekte (engl. sweep) und gibt den von ihnen belegten Speicherplatz frei. Interaktion mit dem Garbage CollectorVon Ruby ausRuby bietet das Modul GC an, mit dem der Garbage Collector kontrollieren lässt. Beispielsweise lässt sich der Garbe Collector mit Von C ausIm Sinne von Ruby-C-Extensions ist es gelegentlich erforderlich, mit Rubys GC zu interagieren. Erstellt man hybridartige Objekte, die zu einem Teil aus Ruby und zum anderen aus C bestehen, müssen jegliche Objekte, die von C aus referenziert werden mithilfe der Funktion |
|||||||||||||