Array-Slicing
Teil des Abschnitts Grundlagen der GDScript-Journey von Coddy. Lektion 73 von 92.
Die Methode slice() gibt ein neues Array mit einem Teil der Elemente zurück. slice(begin, end) nimmt die Elemente ab Index begin bis, aber nicht einschließlich, Index end:
var numbers := [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(numbers.slice(2, 6))[2, 3, 4, 5]Ohne end reicht der Slice bis zum Ende des Arrays:
print(numbers.slice(5))[5, 6, 7, 8, 9]Negative Indizes zählen vom Ende aus. slice(-3) gibt die letzten drei Elemente zurück, und slice(0, -2) alles außer den letzten beiden:
print(numbers.slice(-3))
print(numbers.slice(0, -2))[7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7]Ein drittes Argument, der Schritt, nimmt jedes n-te Element. slice(1, 8, 2) nimmt die Indizes 1, 3, 5 und 7:
print(numbers.slice(1, 8, 2))[1, 3, 5, 7]slice() verändert das ursprüngliche Array nicht: numbers enthält weiterhin alle zehn Elemente.
Aufgabe
EinfachDas Programm liest eine durch Kommas getrennte Zeile mit Elementen in das Array items ein (bereits geschrieben). Gib den mittleren Teil des Arrays mit slice() aus:
- Wenn die Anzahl der Elemente ungerade ist, gib das mittlere Element und je ein Element auf jeder Seite aus (3 Elemente; bei einem einzelnen Element gib dieses Element aus)
- Wenn sie gerade ist, gib die beiden mittleren Elemente aus
Für apple,banana,orange,grape lautet die Ausgabe ["banana", "orange"], und für a,b,c,d,e lautet sie ["b", "c", "d"].
Probier es selbst
extends Node
func _ready():
var items := OS.read_string_from_stdin().split(",")
# Gib die mittleren Elemente aus
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 1
Arithmetische OperatorenGanzzahldivisionModulo-OperatorRechenabkürzungenRückblick – Einfache MathematikVergleichsoperatoren7Einfache Ein- und Ausgabe
AusgabeAusgabe mit VariablenString-FormatierungEingabeTypumwandlungWiederholung – bis 120Wiederholung – Wahr oder falsch10Funktionen
Eine Funktion deklarierenArgumenteRückgabewertRückgabetypenWiederholung – Sigma-FunktionWiederholung – ValidierungsfunktionStandardwerte5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung – einfache LogikLogische Operatoren Teil 3Ternärer Operator8Rechnungsteiler
BegrüßungsnachrichtEingaben erfassen11FizzBuzz mit einer Wendung
SpielübersichtDie FizzBuzz-Funktion3Variablen Teil 2
TypdeklarationTypinferenzKonstantenWiederholung – Variablen initialisierenTypumwandlung6Entscheidungen treffen
If-AnweisungIf - ElseWiederholung – einfacher TaschenrechnerVerschachteltes If - ElseMatch-Anweisung9Schleifen
For-SchleifeWhile-SchleifeBreakContinueWiederholung – FakultätDie Range-FunktionVerschachtelte SchleifeWiederholung – Dynamische EingabeÜbe selbstständig: Online-GDScript-Compiler