Menu
CoddyTech

Bereichsmethoden

Teil des Abschnitts Logik und Ablauf der Ruby-Journey von Coddy. Lektion 7 von 56.

Bereiche verfügen über praktische Methoden, die Ihnen das manuelle Schreiben von Schleifen ersparen.

include? prüft, ob ein Wert innerhalb des Bereichs liegt:

range = 1..10
puts range.include?(5)   # true
puts range.include?(11)  # false

min, max und size arbeiten direkt mit Bereichen:

puts (1..10).min   # 1
puts (1..10).max   # 10
puts (1..10).size  # 10

step iteriert über den Bereich und springt dabei um einen festen Betrag, was nützlich ist, wenn man nicht jeden Wert benötigt:

(0..10).step(2) do |n|
  puts n
end
# 0, 2, 4, 6, 8, 10

Und each funktioniert genauso wie bei Arrays:

(1..3).each { |n| puts n * n }
# 1
# 4
# 9
challenge icon

Aufgabe

Einfach

Dir wird ein inklusiver Bereich und eine Liste von Schätzungen gegeben. Bewerte die Schätzungen und fasse den Bereich zusammen.

Lies zwei Zeilen ein:

  1. Zwei durch ein Leerzeichen getrennte Ganzzahlen: start und end_value
  2. Eine durch Kommas getrennte Liste von Ganzzahl-Schätzungen

Verwende den Bereich start..end_value und gib Folgendes aus:

  1. Hit: <n>, wobei n die Anzahl der Schätzungen ist, die in den Bereich fallen (verwende include?)
  2. Span: <n>, wobei n die size des Bereichs ist
  3. Multiples of 3 sum: <n>, wobei n die Summe jedes Vielfachen von 3 im Bereich ist (verwende step beginnend beim ersten Vielfachen von 3 bei oder nach start)

Für die Eingabe 1 10 in der ersten Zeile und 3,5,11,7,-2 in der zweiten Zeile lautet die Ausgabe:

Hit: 3
Span: 10
Multiples of 3 sum: 18

(Treffer: 3, 5, 7. Vielfache von 3 in 1..10: 3+6+9 = 18.)

Probier es selbst

start, end_value = gets.chomp.split.map(&:to_i)
guesses = gets.chomp.split(",").map(&:to_i)

# TODO: Trefferanzahl via include?, Spanne via size, Summe der Vielfachen von 3 via step
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 Logik und Ablauf

Übe selbstständig: Online-Ruby-Compiler