Menu
Coddy logo textTech

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.

challenge icon

Aufgabe

Einfach

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

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

21

Wenn die Eingaben 5 und none sind:

5

Wenn die Eingaben 12 und 4 sind:

48

Spickzettel

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