Menu
CoddyTech

Wycinanie fragmentów tablicy

Część sekcji Podstawy ścieżki GDScript w Coddy. Lekcja 73 z 92.

Metoda slice() zwraca nową tablicę zawierającą część elementów. slice(begin, end) pobiera elementy od indeksu begin do indeksu end, ale bez niego:

var numbers := [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(numbers.slice(2, 6))
[2, 3, 4, 5]

Bez end wycinek sięga do końca tablicy:

print(numbers.slice(5))
[5, 6, 7, 8, 9]

Indeksy ujemne liczą od końca. slice(-3) pobiera trzy ostatnie elementy, a slice(0, -2) — wszystko oprócz dwóch ostatnich:

print(numbers.slice(-3))
print(numbers.slice(0, -2))
[7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7]

Trzeci argument, krok, pobiera co n-ty element. slice(1, 8, 2) pobiera indeksy 1, 3, 5 i 7:

print(numbers.slice(1, 8, 2))
[1, 3, 5, 7]

slice() nie zmienia oryginalnej tablicy: numbers nadal zawiera wszystkie dziesięć elementów.

challenge icon

Wyzwanie

Łatwy

Program wczytuje wiersz elementów oddzielonych przecinkami do tablicy items (jest to już zapisane). Wypisz środkową część tablicy za pomocą slice():

  • Jeśli liczba elementów jest nieparzysta, wypisz środkowy element i po jednym elemencie z każdej strony (3 elementy; jeśli jest tylko jeden element, wypisz ten element)
  • Jeśli jest parzysta, wypisz dwa środkowe elementy

Dla apple,banana,orange,grape wynikiem jest ["banana", "orange"], a dla a,b,c,d,e jest to ["b", "c", "d"].

Spróbuj swoich sił

extends Node

func _ready():
	var items := OS.read_string_from_stdin().split(",")
	# Wypisz środkowe elementy
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator GDScript online