November 2012
Intermediate to advanced
888 pages
54h 46m
Polish
Podziękowania dla Phila Thomsona
Dołączyliśmy do klasy domieszkę definiującą własne zmienne instancyjne. Chcielibyśmy inicjować te zmienne każdorazowo, gdy utworzony zostanie obiekt naszej klasy.
Należy w dołączanym module zdefiniować metodę initialize, w której ciele wykonywane będzie wspomniane inicjowanie. Metodę tę należy wywoływać w konstruktorze klasy za pomocą instrukcji super(). Oto przykładowy moduł Timeable, umożliwiający śledzenie momentów tworzenia obiektów danej klasy i informowanie o czasie istnienia każdego z nich:
module Timeable attr_reader :time_created def initialize @time_created = Time.now end def age # czas istnienia obiektu w sekundach ...