November 2012
Intermediate to advanced
888 pages
54h 46m
Polish
Stworzyliśmy metodę dokonującą ewaluacji łańcucha zawierającego kod w języku Ruby. Niestety, metoda ta funkcjonuje niezgodnie z oczekiwaniami, bowiem w trakcie jej wykonywania niedostępne są obiekty, do których odwołuje się wspomniany kod.
Intencją autora poniższej metody było zapewne wyświetlenie wartości zmiennej o wskazanej nazwie:
def broken_print_variable(var_name)
eval %{puts "Wartość zmiennej #{var_name} wynosi " + #{var_name}.to_s}
end
Metoda eval dokonuje ewaluacji łańcucha w kontekście, w którym sama została wywołana; w powyższym przykładzie kontekstem tym jest ciało metody broken_print_variable, w którym zmienna definiowana na zewnątrz niego jest niewidoczna.
lewy_margines ...