Array-Kurzschreibweisen
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 mithilfe der
%w-Kurzsyntax ein Array von Zeichenketten aus der ersten Eingabe. Da die Eingabe bereits eine Zeichenkette ist, musst du zuerstsplitverwenden, um sie in ein Array umzuwandeln. Demonstriere anschließend%w, indem du ein separates Array mit den Wörternalpha,beta,gammaerstellst. - Erstelle mithilfe von
%iein Array von Symbolen mit den Wertenstart,middle,end. - Erstelle mithilfe des Splat-Operators
*innerhalb von Array-Klammern ein Array mit aufeinanderfolgenden Zahlen aus dem im zweiten Eingabewert angegebenen Bereich.
Gib Folgendes in separaten Zeilen aus:
- Jedes Element des Arrays mit den Eingabewörtern
- Eine Leerzeile
- Jedes Element des
%w-Arrays (alpha, beta, gamma) - Eine Leerzeile
- Jedes Element des
%i-Symbolarrays - Eine Leerzeile
- Jedes Element des Zahlenbereich-Arrays
Wenn die Eingaben beispielsweise red green blue und 1,5 lauten, 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 lauten, sollte die Ausgabe wie folgt aussehen:
sun
moon
star
alpha
beta
gamma
start
middle
end
10
11
12
13Probier 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 47Rechner zum Aufteilen der Rechnung
WillkommensnachrichtBenutzereingaben erfassen10FizzBuzz mit einer Wendung
SpielübersichtDie FizzBuzz-Methode13Arrays für Fortgeschrittene
Array-Slicing mit BereichenArray-Slicing mit IndizesArray-OperatorenInclude?-Methode2Variablen und Datentypen
Zahlen und VariablenString-DatentypBoolean-DatentypSymbol-DatentypDatentypen überprüfenNamenskonventionenWiederholung – Variablen erstellen5Entscheidungsfindung
If-AnweisungIf - ElseRückblick – Einfacher TaschenrechnerVerschachteltes If - ElseUnless-Anweisung8Schleifen
For-Schleife mit BereichenWhile-SchleifeBreakNextRückblick – FakultätTimes-SchleifeUntil-SchleifeVerschachtelte SchleifenRückblick – Dynamische Eingabe3Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorArithmetische KurzschreibweisenRückblick – Einfache MathematikVergleichsoperatoren6Grundlegende Ein- und Ausgabe
Ausgabe mit putsAusgabe mit print und pAusgabe mit VariablenEingabe mit getsDie chomp-MethodeTypumwandlungWiederholung – AltersrechnerWiederholung – Wahr oder FalschÜbe selbstständig: Online-Ruby-Compiler