Menu
Coddy logo textTech

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.

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

21

Wenn die Eingaben 5 und none sind:

5

Wenn die Eingaben 12 und 4 sind:

48

Probier 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 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