Standardparameterwerte
Teil des Abschnitts Grundlagen der Ruby-Journey von Coddy. Lektion 53 von 88.
Manchmal soll eine Methode auf einen sinnvollen Standardwert zurückgreifen, wenn kein Argument übergeben wird. Mit Standardwerten für Parameter kannst du festlegen, welchen Wert ein Parameter haben soll, wenn der Aufrufer keinen angibt.
Um einen Standardwert festzulegen, verwende das Zeichen = nach dem Parameternamen:
def greet(name = "friend")
puts "Hello, #{name}!"
end
greet("Alice") # Gibt aus: Hello, Alice!
greet # Gibt aus: Hello, friend!Wenn du greet ohne Argument aufrufst, verwendet Ruby „Freund“ als Standardwert. Wenn du ein Argument angibst, überschreibt es den Standardwert.
Du kannst reguläre Parameter mit Parametern mit Standardwerten kombinieren. Parameter mit Standardwerten stehen normalerweise nach den Parametern ohne Standardwerte, und ein regulärer Parameter kann nicht zwischen zwei Parametern mit Standardwerten 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)Dadurch werden Methoden flexibler. Aufrufer können nur die wesentlichen Informationen angeben, während für optionale Details sinnvolle Standardwerte verwendet werden.
Aufgabe
EinfachDefiniere eine Methode namens multiply, die zwei Parameter entgegennimmt: a und b. Der Parameter b sollte den Standardwert 1 haben. Die Methode sollte das Produkt von a und b zurückgeben.
Lies zwei Ganzzahlen aus der Eingabe:
- Die erste Zahl (wird immer angegeben)
- Die zweite Zahl (wird möglicherweise angegeben)
Wenn nur eine Eingabe angegeben wird, rufe die Methode nur mit diesem Argument auf (und verwende den Standardwert für b). Wenn zwei Eingaben angegeben werden, rufe die Methode mit beiden Argumenten auf.
Gib das Ergebnis des Methodenaufrufs aus.
Das Eingabeformat lautet:
- 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:
48Probier es selbst
# Eingabe einlesen
a = gets.chomp.to_i
b_input = gets.chomp
# TODO: Definiere die Methode multiply mit dem Parameter b, der den Standardwert 1 hat
# TODO: Rufe die Methode passend dazu auf, 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 47Rechner zum Aufteilen der Rechnung
WillkommensnachrichtBenutzereingaben erfassen10FizzBuzz mit einer Wendung
SpielübersichtDie FizzBuzz-Methode13Arrays für Fortgeschrittene
Array-Slicing mit BereichenArray-Slicing mit IndizesArray-OperatorenInclude?-Methode2Variablen und Datentypen
Zahlen und VariablenString-DatentypBoolean-DatentypSymbol-DatentypDatentypen überprüfenNamenskonventionenWiederholung – Variablen erstellen5Entscheidungsfindung
If-AnweisungIf - ElseRückblick – Einfacher TaschenrechnerVerschachteltes If - ElseUnless-Anweisung8Schleifen
For-Schleife mit BereichenWhile-SchleifeBreakNextRückblick – FakultätTimes-SchleifeUntil-SchleifeVerschachtelte SchleifenRückblick – Dynamische Eingabe3Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorArithmetische KurzschreibweisenRückblick – Einfache MathematikVergleichsoperatoren6Grundlegende Ein- und Ausgabe
Ausgabe mit putsAusgabe mit print und pAusgabe mit VariablenEingabe mit getsDie chomp-MethodeTypumwandlungWiederholung – AltersrechnerWiederholung – Wahr oder Falsch9Methoden
Eine Methode definierenMethodenparameterRückgabewerteWiederholung – Sigma-MethodeWiederholung – ValidierungsmethodeStandardparameterwerteÜbe selbstständig: Online-Ruby-Compiler