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.