November 2012
Intermediate to advanced
888 pages
54h 46m
Polish
Konstruktor klasy wywoływany jest z dużą liczbą argumentów, z których każdy przypisywany jest pewnej zmiennej instancyjnej:
class RGBColor(czerwony=0, zielony=0, niebieski=0) @czerwony = czerwony @zielony = zielony @niebieski = niebieski end
Chcielibyśmy uniknąć kłopotliwego wypisywania explicite wszystkich tych instrukcji przypisania.
Widoczna poniżej metoda set_instance_variables dokonuje automatycznego inicjowania zmiennych instancyjnych na podstawie argumentów przekazanych do metody initialize:
class Object
private
def set_instance_variables(binding, *variables)
variables.each do |var|
eval("@#{var} = #{var}", binding)
end
end
end
Używając tej metody, unikamy ...