November 2012
Intermediate to advanced
888 pages
54h 46m
Polish
Chcemy współdzielić dostęp do zmiennych między metodami, chcemy także definiować bloki kodowe z udziałem zmiennych zewnętrznych.
Ruby gwarantuje poprawną realizację odwołań do zmiennych w treści bloków kodowych. Oto metoda powodująca dodawanie pewnej wartości do każdego elementu tablicy.
def add_to_all(array, number)
array.collect { |x| x + number }
end
add_to_all([1, 2, 3], 10) # => [11, 12, 13]
W ciele metody Enumerable#collect zmienna number jest niewidoczna, jest jednak dostępna w treści bloku kodowego, ponieważ była dla niego widoczna w momencie jego definiowania.
Blok kodowy języka Ruby jest domknięciem ...