Menu
CoddyTech

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.

challenge icon

Aufgabe

Einfach

Definiere 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:

  1. Die erste Zahl (wird immer angegeben)
  2. 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:

21

Wenn die Eingaben 5 und none sind:

5

Wenn die Eingaben 12 und 4 sind:

48

Probier 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 result
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: Online-Ruby-Compiler