Standardparameterwerte
Teil des Abschnitts Grundlagen der Ruby-Journey von Coddy. Lektion 53 von 88.
Manchmal soll eine Methode einen sinnvollen Ersatzwert verwenden, wenn kein Argument angegeben wird. Mit Standardwerten für Parameter kannst du festlegen, welchen Wert ein Parameter haben soll, wenn der Aufrufer ihn nicht angibt.
Um einen default-Wert festzulegen, verwende nach dem parameter-Namen das Zeichen =:
def greet(name = "friend")
puts "Hello, #{name}!"
end
greet("Alice") # Ausgabe: Hello, Alice!
greet # Ausgabe: Hello, friend!Wenn du greet ohne ein Argument aufrufst, verwendet Ruby „friend“ als Standardwert. Wenn du ein Argument angibst, überschreibt es den Standardwert.
Du kannst reguläre Parameter mit Standardparametern 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 zum Kubik)Dadurch werden Methoden flexibler. Aufrufer können nur die wesentlichen Informationen bereitstellen, während optionale Details auf sinnvolle Standardwerte zurückfallen.
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 (wobei der Standardwert für b verwendet wird). Wenn zwei Eingaben angegeben werden, rufe die Methode mit beiden Argumenten auf.
Gib das Ergebnis des Methodenaufrufs aus.
Das Eingabeformat ist:
- Erste Zeile: die erste Zahl
- Zweite Zeile: entweder eine Zahl oder das Wort
none
Wenn die Eingaben beispielsweise 7 und 3 sind:
21Wenn die Eingaben 5 und none sind:
5Wenn die Eingaben 12 und 4 sind:
48Probier es selbst
# Eingabe lesen
a = gets.chomp.to_i
b_input = gets.chomp
# TODO: Definiere die multiply-Methode mit Parameter b, der den Standardwert 1 hat
# TODO: Rufe die Methode entsprechend auf, basierend darauf, 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