Standard-Parameterwerte
Teil des Abschnitts Grundlagen der Ruby-Journey von Coddy — Lektion 53 von 88.
Manchmal möchten Sie, dass eine Methode einen sinnvollen Fallback hat, wenn ein Argument nicht angegeben wird. Standardparameterwerte ermöglichen es Ihnen zu definieren, was ein Parameter sein soll, wenn der Aufrufer ihn nicht angibt.
Um einen Standardwert festzulegen, verwenden Sie das = Zeichen nach dem Parameternamen:
def greet(name = "friend")
puts "Hello, #{name}!"
end
greet("Alice") # Ausgabe: Hello, Alice!
greet # Ausgabe: Hello, friend!Wenn Sie greet ohne ein Argument aufrufen, verwendet Ruby „friend“ als Standardwert. Wenn Sie ein Argument angeben, überschreibt dieses den Standardwert.
Sie können reguläre Parameter mit Standardwerten mischen, aber Parameter mit Standardwerten müssen nach denen ohne Standardwerte stehen:
def power(base, exponent = 2)
base ** exponent
end
puts power(5) # Ausgabe: 25 (5 zum Quadrat)
puts power(2, 3) # Ausgabe: 8 (2 hoch 3)Dies macht Methoden flexibler. Aufrufer können nur die wesentlichen Informationen bereitstellen, während optionale Details auf vernünftige Standardwerte zurückgreifen.
Aufgabe
EinfachDefinieren Sie eine Methode namens multiply, die zwei Parameter entgegennimmt: a und b. Der Parameter b sollte einen Standardwert von 1 haben. Die Methode sollte das Produkt von a und b zurückgeben.
Lesen Sie zwei Ganzzahlen aus der Eingabe:
- Die erste Zahl (wird immer angegeben)
- Die zweite Zahl (kann angegeben werden oder nicht)
Wenn nur eine Eingabe erfolgt, rufen Sie die Methode nur mit diesem Argument auf (unter Verwendung des Standardwerts für b). Wenn zwei Eingaben erfolgen, rufen Sie die Methode mit beiden Argumenten auf.
Geben Sie das Ergebnis des Methodenaufrufs aus.
Das Eingabeformat ist wie folgt:
- Erste Zeile: die erste Zahl
- Zweite Zeile: entweder eine Zahl oder das Wort
none
Zum Beispiel, wenn die Eingaben 7 und 3 sind:
21Wenn die Eingaben 5 und none sind:
5Wenn die Eingaben 12 und 4 sind:
48Spickzettel
Standard-Parameterwerte bieten Fallback-Werte, wenn keine Argumente übergeben werden. Verwenden Sie das =-Zeichen nach dem Parameternamen, um einen Standardwert festzulegen:
def greet(name = "friend")
puts "Hello, #{name}!"
end
greet("Alice") # Ausgabe: Hello, Alice!
greet # Ausgabe: Hello, friend!Parameter mit Standardwerten müssen nach Parametern ohne Standardwerte stehen:
def power(base, exponent = 2)
base ** exponent
end
puts power(5) # Ausgabe: 25 (5 zum Quadrat)
puts power(2, 3) # Ausgabe: 8 (2 hoch 3)Probier es selbst
# Eingabe lesen
a = gets.chomp.to_i
b_input = gets.chomp
# TODO: Definiere die multiply-Methode, wobei der Parameter b den Standardwert 1 hat
# TODO: Rufe die Methode entsprechend auf, je nachdem, ob b_input "none" oder eine Zahl ist
# Wenn b_input "none" ist, rufe multiply nur mit a auf
# Wenn b_input eine Zahl ist, rufe multiply mit a und b auf
# Ergebnis ausgeben
puts resultDiese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung – Einfache LogikLogische Operatoren Teil 3Logische Operatoren Teil 47Rechnungs-Splitter
WillkommensnachrichtBenutzereingaben abfragen10FizzBuzz mit Twist
SpielübersichtDie FizzBuzz-Methode13Arrays für Fortgeschrittene
Array Slicing mit BereichenArray Slicing mit IndizesArray-OperatorenInclude? Methode2Variablen und Datentypen
Zahlen und VariablenDatentyp StringDatentyp BooleanDatentyp SymbolDatentypen prüfenBenennungskonventionenZusammenfassung – Erstellung von Variablen5Entscheidungsfindung
If-AnweisungIf - ElseWiederholung - Einfacher TaschenrechnerVerschachtelte If - Else-AnweisungenUnless-Anweisung8Schleifen
For-Schleife mit RangesWhile-SchleifeBreakNextRückblick - FakultätTimes-SchleifeUntil-SchleifeVerschachtelte SchleifenRückblick - Dynamische Eingabe3Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorArithmetische AbkürzungenWiederholung – Einfache MathematikVergleichsoperatoren6Grundlagen Ein- und Ausgabe
Ausgabe mit putsAusgabe mit print und pAusgabe mit VariablenEingabe mit getsChomp-MethodeTypumwandlungWiederholung - AltersrechnerWiederholung - Wahr oder Falsch9Methoden
Eine Methode definierenMethodenparameterRückgabewerteRückblick - Sigma-MethodeRückblick - ValidierungsmethodeStandard-Parameterwerte