8.10 Methoden dynamisch erzeugen

Ein wichtiges Verfahren der Metaprogrammierung ist die Verwendung von Methoden, die Methoden erzeugen. Die Methoden attr_reader und attr_accessor (siehe „7.1.5 Akzessoren und Attribute“) sind Beispiele dafür. Diese privaten Instanzmethoden von Module werden in Klassendefinitionen wie Schlüsselwörter verwendet. Sie nehmen Attributnamen als Argumente entgegen und erzeugen dynamisch Methoden mit diesen Namen. Die nachfolgenden Beispiele sind Varianten dieser Attributakzessor-Erzeugungsmethoden und demonstrieren zwei verschiedene Möglichkeiten zur Definition von Methoden wie diesen.

8.10.1 Methoden mit class_eval definieren

Listing 8.6 definiert private Instanzmethoden von Module namens readonly und readwrite. Diese ...

Get Die Programmiersprache Ruby now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.