Array-Shortcuts
Teil des Abschnitts Grundlagen der Ruby-Journey von Coddy — Lektion 64 von 88.
Ruby bietet praktische Abkürzungen für das Erstellen von Arrays, insbesondere bei der Arbeit mit Strings oder aufeinanderfolgenden Zahlen. Diese Abkürzungen sparen Zeit und machen Ihren Code sauberer.
Die %w-Syntax erzeugt ein Array von Strings, ohne Anführungszeichen oder Kommas zu benötigen:
fruits = %w[apple banana cherry]
puts fruits # Ausgabe: apple, banana, cherryDies entspricht dem Schreiben von ["apple", "banana", "cherry"], ist aber viel prägnanter. Jedes durch ein Leerzeichen getrennte Wort wird zu einem separaten Element.
Für Arrays von Symbolen verwende %i:
statuses = %i[pending active completed]
puts statuses # Ausgabe: pending, active, completedUm Arrays aus aufeinanderfolgenden Zahlen zu erstellen, können Sie einen Bereich mit to_a in ein Array umwandeln:
numbers = (1..5).to_a
puts numbers # Ausgabe: 1, 2, 3, 4, 5Du kannst den Splat-Operator auch * innerhalb von Array-Klammern verwenden:
countdown = [*5..10]
puts countdown # Ausgabe: 5, 6, 7, 8, 9, 10Diese Kürzel sind besonders nützlich, wenn Sie schnell eine Liste bekannter Werte definieren müssen, ohne das visuelle Durcheinander von Anführungszeichen und Kommas.
Aufgabe
EinfachLies zwei Eingaben ein:
- Eine einzelne Zeile mit durch Leerzeichen getrennten Wörtern (z. B.
red green blue yellow) - Zwei durch ein Komma getrennte Ganzzahlen, die einen Bereich darstellen (z. B.
3,7)
Führe die folgenden Aufgaben aus:
- Erstelle ein Array aus Strings aus der ersten Eingabe. Da die Eingabe bereits ein String ist, musst du zuerst
splitverwenden, um sie in ein Array umzuwandeln. Demonstriere dann die%w-Syntax, indem du ein separates Array mit den Wörternalpha,beta,gammaerstellst. - Erstelle ein Array aus Symbolen unter Verwendung von
%imit den Wertenstart,middle,end. - Erstelle ein Array aus aufeinanderfolgenden Zahlen aus dem in der zweiten Eingabe angegebenen Bereich unter Verwendung des Splat-Operators
*innerhalb von Array-Klammern.
Gib Folgendes in separaten Zeilen aus:
- Jedes Element des Arrays der eingegebenen Wörter
- Eine Leerzeile
- Jedes Element des
%w-Arrays (alpha, beta, gamma) - Eine Leerzeile
- Jedes Element des
%i-Symbol-Arrays - Eine Leerzeile
- Jedes Element des Zahlenbereich-Arrays
Wenn die Eingaben beispielsweise red green blue und 1,5 sind, sollte die Ausgabe wie folgt aussehen:
red
green
blue
alpha
beta
gamma
start
middle
end
1
2
3
4
5Wenn die Eingaben sun moon star und 10,13 sind, sollte die Ausgabe wie folgt aussehen:
sun
moon
star
alpha
beta
gamma
start
middle
end
10
11
12
13Spickzettel
Ruby bietet Abkürzungen zum Erstellen von Arrays, die den Code sauberer und prägnanter machen.
Die %w-Syntax erstellt ein Array von Strings ohne Anführungszeichen oder Kommas:
fruits = %w[apple banana cherry]
# Entspricht ["apple", "banana", "cherry"]Die %i-Syntax erstellt ein Array von Symbolen:
statuses = %i[pending active completed]
# Entspricht [:pending, :active, :completed]Konvertieren Sie einen Bereich mit to_a in ein Array:
numbers = (1..5).to_a
# Erstellt [1, 2, 3, 4, 5]Verwenden Sie den Splat-Operator * innerhalb von Array-Klammern, um Arrays aus Bereichen zu erstellen:
countdown = [*5..10]
# Erstellt [5, 6, 7, 8, 9, 10]Probier es selbst
# Lies die durch Leerzeichen getrennten Wörter ein
words_input = gets.chomp
# Lies den Bereich ein (zwei durch Komma getrennte Ganzzahlen)
range_input = gets.chomp
# TODO: Schreibe deinen Code unten
# 1. Erstelle ein Array aus words_input mit split
# 2. Erstelle ein %w-Array mit alpha, beta, gamma
# 3. Erstelle ein %i-Array mit start, middle, end
# 4. Parse den Bereich und erstelle ein Array mit dem Splat-Operator (*)
# Gib die Elemente jedes Arrays in separaten Zeilen mit Leerzeilen zwischen den Arrays ausDiese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung – Einfache LogikLogische Operatoren Teil 3Logische Operatoren Teil 47Rechnungs-Splitter
WillkommensnachrichtBenutzereingaben abfragen10FizzBuzz mit Twist
SpielübersichtDie FizzBuzz-Methode13Arrays für Fortgeschrittene
Array Slicing mit BereichenArray Slicing mit IndizesArray-OperatorenInclude? Methode2Variablen und Datentypen
Zahlen und VariablenDatentyp StringDatentyp BooleanDatentyp SymbolDatentypen prüfenBenennungskonventionenZusammenfassung – Erstellung von Variablen5Entscheidungsfindung
If-AnweisungIf - ElseWiederholung - Einfacher TaschenrechnerVerschachtelte If - Else-AnweisungenUnless-Anweisung8Schleifen
For-Schleife mit RangesWhile-SchleifeBreakNextRückblick - FakultätTimes-SchleifeUntil-SchleifeVerschachtelte SchleifenRückblick - Dynamische Eingabe3Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorArithmetische AbkürzungenWiederholung – Einfache MathematikVergleichsoperatoren6Grundlagen Ein- und Ausgabe
Ausgabe mit putsAusgabe mit print und pAusgabe mit VariablenEingabe mit getsChomp-MethodeTypumwandlungWiederholung - AltersrechnerWiederholung - Wahr oder Falsch