Was ist ein Bereich?
Teil des Abschnitts Logik & Programmfluss der Ruby-Journey von Coddy. Lektion 6 von 56.
Du hast Bereiche bereits mit for-Schleifen und Array-Slicing verwendet. Aber ein Bereich ist ein echtes Ruby-Objekt, nicht nur Syntax – er hat seine eigenen Methoden.
Erstellen Sie einen mit .. (zwei Punkte, inklusiv) oder ... (drei Punkte, exklusiv des Endwerts):
inclusive = 1..5 # 1, 2, 3, 4, 5
exclusive = 1...5 # 1, 2, 3, 4Konvertieren Sie einen Bereich mit to_a in ein Array, um genau zu sehen, was er abdeckt:
puts (1..5).to_a.inspect # [1, 2, 3, 4, 5]
puts (1...5).to_a.inspect # [1, 2, 3, 4]Bereiche (Ranges) sind nicht nur für Zahlen gedacht. Sie funktionieren mit allem, was eine Reihenfolge hat, einschließlich Buchstaben:
puts ("a".."e").to_a.inspect # ["a", "b", "c", "d", "e"]Aufgabe
AnfängerLies zwei Ganzzahlen (zwei Eingabezeilen) ein: einen start und einen end_value. Gib drei Zeilen aus:
- Den inklusiven Bereich
start..end_valueals Array (verwendeinspect) - Den exklusiven Bereich
start...end_valueals Array - Die Größe des inklusiven Bereichs
Für die Eingabe 1 und dann 5 ist die Ausgabe:
[1, 2, 3, 4, 5]
[1, 2, 3, 4]
5Probier es selbst
start = gets.to_i
end_value = gets.to_i
# TODO: Den inklusiven Bereich, den exklusiven Bereich und die inklusive Größe ausgeben
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Programmfluss
1Strings im Detail
Überblick über String-MethodenString-InterpolationStrings durchlaufenSplitten und VerbindenRückblick – String Weaver4Blocks, Procs & Lambdas
Was ist ein Block?do..end vs. geschweifte KlammernDas Schlüsselwort yieldBlock-ParameterProcs und LambdasRückblick – Benutzerdefinierter Iterator2Bereiche
Was ist ein Bereich?BereichsmethodenBereiche in Case / WhenWiederholung – Übung zu Bereichen5Das Enumerable-Kraftpaket
Select und RejectMap verkettenReduce / Injectcount, all?, any?, none?group_by und partitionsort_by, min_by, max_byZusammenfassung – Datenpipeline8Fortgeschrittene Entscheidungsfindung
Case mit Klassen & Regexwhen mit mehreren WertenTernärer OperatorInline-if / unlessRückblick – NotenklassifiziererÜbe selbstständig: Online-Ruby-Compiler