Domyślne wartości parametrów
Część sekcji Podstawy ścieżki Ruby w Coddy. Lekcja 53 z 88.
Czasami chcesz, aby metoda miała rozsądną wartość domyślną, gdy argument nie zostanie podany. Wartości domyślne parametrów pozwalają określić, jaka powinna być wartość parametru, jeśli wywołujący go nie poda.
Aby ustawić wartość domyślną, użyj znaku = po nazwie parametru:
def greet(name = "friend")
puts "Hello, #{name}!"
end
greet("Alice") # Wyświetla: Hello, Alice!
greet # Wyświetla: Hello, friend!Gdy wywołasz greet bez argumentu, Ruby użyje wartości domyślnej „friend”. Gdy podasz argument, zastąpi on wartość domyślną.
Możesz łączyć zwykłe parametry z parametrami z wartościami domyślnymi. Parametry z wartościami domyślnymi zwykle umieszcza się po tych bez wartości domyślnych, a zwykły parametr nie może znajdować się między dwoma parametrami z wartościami domyślnymi:
def power(base, exponent = 2)
base ** exponent
end
puts power(5) # Wyświetla: 25 (5 do kwadratu)
puts power(2, 3) # Wyświetla: 8 (2 do sześcianu)Dzięki temu metody są bardziej elastyczne. Wywołujący mogą podać tylko niezbędne informacje, a opcjonalne szczegóły będą miały rozsądne wartości domyślne.
Wyzwanie
ŁatwyZdefiniuj metodę o nazwie multiply, która przyjmuje dwa parametry: a i b. Parametr b powinien mieć domyślną wartość 1. Metoda powinna zwracać iloczyn a i b.
Wczytaj z wejścia dwie liczby całkowite:
- Pierwszą liczbę (zawsze zostanie podana)
- Drugą liczbę (może, ale nie musi zostać podana)
Jeśli podano tylko jedną wartość, wywołaj metodę, przekazując jej tylko ten argument (używając domyślnej wartości dla b). Jeśli podano dwie wartości, wywołaj metodę, przekazując jej oba argumenty.
Wypisz wynik wywołania metody.
Format danych wejściowych:
- Pierwszy wiersz: pierwsza liczba
- Drugi wiersz: liczba lub słowo
none
Na przykład, jeśli dane wejściowe to 7 i 3:
21Jeśli dane wejściowe to 5 i none:
5Jeśli dane wejściowe to 12 i 4:
48Spróbuj swoich sił
# Odczytaj dane wejściowe
a = gets.chomp.to_i
b_input = gets.chomp
# TODO: Zdefiniuj metodę multiply z parametrem b, którego domyślna wartość wynosi 1
# TODO: Wywołaj metodę odpowiednio, w zależności od tego, czy b_input ma wartość "none", czy jest liczbą
# Jeśli b_input ma wartość "none", wywołaj multiply tylko z argumentem a
# Jeśli b_input jest liczbą, wywołaj multiply z argumentami a i b
# Wypisz wynik
puts resultTa lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory — część 2
Operatory logiczne — część 1Operatory logiczne — część 2Powtórka — podstawy logikiOperatory logiczne — część 3Operatory logiczne — część 47Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych od użytkownika2Zmienne i typy danych
Liczby i zmienneTyp danych StringTyp danych BooleanTyp danych SymbolSprawdzanie typów danychKonwencje nazewnictwaPodsumowanie — tworzenie zmiennych5Podejmowanie decyzji
Instrukcja ifIf - elsePowtórka — prosty kalkulatorZagnieżdżone if - elseInstrukcja unless8Pętle
Pętla for z zakresamiPętla whilebreaknextPowtórka – silniaPętla timesPętla untilPętle zagnieżdżonePowtórka – dynamiczne wejście3Operatory — część 1
Operatory arytmetyczneOperator moduloSkrócone operatory arytmetycznePodsumowanie — prosta matematykaOperatory porównania6Podstawowe wejście i wyjście
Wyświetlanie za pomocą putsWyświetlanie za pomocą print i pWyświetlanie zmiennychWczytywanie za pomocą getsMetoda chompKonwersja typówPodsumowanie – kalkulator wiekuPodsumowanie – prawda czy fałsz9Metody
Definiowanie metodyParametry metodyWartości zwracanePowtórka — metoda SigmaPowtórka — metoda walidacjiDomyślne wartości parametrówPoćwicz samodzielnie: Kompilator Ruby online