November 2012
Intermediate to advanced
888 pages
54h 46m
Polish
Tworzymy pewien kod, wykorzystując metodę define_method, jednak związana z tym intensywność posługiwania się odzwierciedleniami sprawia, że kod staje się mało czytelny i niezrozumiały, samo zaś metaprogramowanie wydaje się równie nużące jak tworzenie całego kodu „na piechotę”.
Drugą, obok wykorzystywania metody define_method, oficjalnie zalecaną techniką metaprogramowania jest ewaluacja łańcuchów: zawartość łańcucha zostaje potraktowana jak kod w języku Ruby i wykonana.
Powróćmy na chwilę do przykładu z poprzedniej receptury, wykorzystującego metodę define_method:
class Numeric [['add', '+'], ['subtract', '-'], ['multiply', '*',], ['divide', '/']].each do |method, ...