November 2012
Intermediate to advanced
888 pages
54h 46m
Polish
Chcemy stworzyć metodę, którą będzie można wywoływać z różną liczbą parametrów. Chcielibyśmy także przekazywać elementy tablicy jako poszczególne argumenty, zamiast całej tablicy tako pojedynczego argumentu.
Aby można było wywoływać metodę ze zmienną liczbą argumentów, należy w jej definicji poprzedzić gwiazdką jej ostatni parametr; gdy metoda zostanie wywołana, „nadmiarowe” argumenty tego wywołania zostaną połączone w listę wraz z ostatnim „regularnym” argumentem, a listę tę reprezentować będzie parametr „z gwiazdką”.
def sum(*numbers) puts "Obliczam sumę elementów tablicy #{numbers.inspect}" numbers.inject(0) { |sum, x| sum += x } end sum(1, 2, 10) # Obliczam ...