Menu
CoddyTech

Wycinanie tablic za pomocą indeksów

Część sekcji Podstawy ścieżki Ruby w Coddy. Lekcja 70 z 88.

Ruby oferuje inny sposób wycinania fragmentów tablic za pomocą indeksu początkowego i długości. Zamiast określać zakres, podajesz dwie liczby: od którego miejsca zacząć i ile elementów wyodrębnić.

Składnia używa przecinka do oddzielenia indeksu początkowego od liczby elementów:

numbers = [10, 20, 30, 40, 50]
slice = numbers[1, 3]

puts slice  # Wyświetla: 20, 30, 40

To wyodrębnia 3 elementy, zaczynając od indeksu 1. Pierwsza liczba to pozycja początkowa, a druga określa, ile elementów chcesz pobrać.

To podejście jest szczególnie przydatne, gdy dokładnie wiesz, ile elementów potrzebujesz:

letters = ["a", "b", "c", "d", "e"]
first_two = letters[0, 2]

puts first_two  # Wypisuje: a, b

Indeksy ujemne również tutaj działają. Możesz zacząć od końca tablicy:

colors = ["red", "green", "blue", "yellow"]
last_two = colors[-2, 2]

puts last_two  # Wypisuje: blue, yellow

Jeśli zażądasz większej liczby elementów, niż jest dostępnych, Ruby po prostu zwróci to, co istnieje, nie zgłaszając błędu:

nums = [1, 2, 3]
slice = nums[1, 10]

puts slice  # Wypisuje: 2, 3

Wybierz tę metodę, gdy znasz liczbę potrzebnych elementów, a zakresów używaj, gdy znasz dokładne pozycje.

challenge icon

Wyzwanie

Łatwy

Wczytaj trzy dane wejściowe:

  1. Jeden wiersz liczb całkowitych oddzielonych przecinkami (np. 5,10,15,20,25,30,35,40)
  2. Indeks początkowy (liczba całkowita)
  3. Liczba elementów do wyodrębnienia (liczba całkowita)

Podziel pierwszą daną wejściową na tablicę liczb całkowitych. Użyj indeksu początkowego i liczby elementów, aby wyciąć fragment tablicy za pomocą składni indeksu i długości, a następnie wypisz każdy element wyciętego fragmentu w osobnym wierszu.

Na przykład, jeśli dane wejściowe to 5,10,15,20,25,30,35,40, 2 i 4, dane wyjściowe powinny wyglądać tak:

15
20
25
30

Jeśli dane wejściowe to 100,200,300,400,500, 0 i 2, dane wyjściowe powinny wyglądać tak:

100
200

Jeśli dane wejściowe to a,b,c,d,e,f,g, -3 i 2, dane wyjściowe powinny wyglądać tak:

e
f

Jeśli dane wejściowe to 10,20,30, 1 i 10, dane wyjściowe powinny wyglądać tak:

20
30

Spróbuj swoich sił

# Odczytaj dane wejściowe
input_line = gets.chomp
start_index = gets.chomp.to_i
count = gets.chomp.to_i

# Podziel dane wejściowe na tablicę
arr = input_line.split(',')

# TODO: Napisz poniżej kod, który wytnie fragment tablicy przy użyciu składni z indeksem i długością
# i wypisze każdy element w osobnym wierszu
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 Ruby online