Menu
Coddy logo textTech

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 uzyskać.

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  # Wyświetla: a, b

Ujemne indeksy również tu działają. Możesz zacząć od końca tablicy:

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

puts last_two  # Wyświetla: blue, yellow

Jeśli zażądzasz większej liczby elementów, niż jest dostępnych, Ruby po prostu zwróci te, które istnieją, bez zgłaszania 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

Odczytaj trzy wartości wejściowe:

  1. Pojedynczy 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ą wartość 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 wartości wejściowe to 5,10,15,20,25,30,35,40, 2 i 4, wynikiem powinno być:

15
20
25
30

Jeśli wartości wejściowe to 100,200,300,400,500, 0 i 2, wynikiem powinno być:

100
200

Jeśli wartości wejściowe to a,b,c,d,e,f,g, -3 i 2, wynikiem powinno być:

e
f

Jeśli wartości wejściowe to 10,20,30, 1 i 10, wynikiem powinno być:

20
30

Spróbuj swoich sił

# Wczytaj 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, używając 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