Nowości i zmiany w Ruby 1.9 #3 - zmiany odnośnie argumentów metod
2 komentarze | Kategorie: Ruby, Techblog | trackbackTagi: 1.9 ruby ruby1.9
Wpis ten jest jedną z części cyklu pt "Nowości i zmiany w Ruby 1.9". Pełną listę wpisów znajdziesz pod adresem http://radarek.jogger.pl/2008/11/30/nowosci-i-zmiany-w-ruby-1-9/.
Kontynuując mały cykl tym razem chciałbym opisać zmianę dotyczącą parametrów metod. Do tej pory deklaracja metody wyglądała następująco: def fun(r1, r2, .., rm, o1=v1, o2=v2, ..., on=vn[, *rest][, &block]).
Suchy zapis jest często ciężki w odbiorze, zatem opisując słownie mamy: lista parametrów wymaganych (może być pusta), lista parametrów opcjonalnych (może być pusta), opcjonalny argument zbierający pozostałe parametry, opcjonalny parametr bloku. Prezentuje to przykładowy kod:
def foo(a, b = 1, *rest, &block)
p [a, b, rest, block]
end
foo(10)
foo(10, 20)
foo(10, 20, 30)