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, 40To 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, bUjemne 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, yellowJeś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, 3Wybierz tę metodę, gdy znasz liczbę potrzebnych elementów, a zakresów używaj, gdy znasz dokładne pozycje.
Wyzwanie
ŁatwyOdczytaj trzy wartości wejściowe:
- Pojedynczy wiersz liczb całkowitych oddzielonych przecinkami (np.
5,10,15,20,25,30,35,40) - Indeks początkowy (liczba całkowita)
- 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
30Jeśli wartości wejściowe to 100,200,300,400,500, 0 i 2, wynikiem powinno być:
100
200Jeśli wartości wejściowe to a,b,c,d,e,f,g, -3 i 2, wynikiem powinno być:
e
fJeśli wartości wejściowe to 10,20,30, 1 i 10, wynikiem powinno być:
20
30Spró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 wierszuTa lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory — część 2
Operatory logiczne — część 1Operatory logiczne — część 2Powtórka — podstawy logikiOperatory logiczne — część 3Operatory logiczne — część 47Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych od użytkownika13Zaawansowane tablice
Wycinanie tablic za pomocą zakresówWycinanie tablic za pomocą indeksówOperatory tablicMetoda Include?2Zmienne i typy danych
Liczby i zmienneTyp danych StringTyp danych BooleanTyp danych SymbolSprawdzanie typów danychKonwencje nazewnictwaPodsumowanie — tworzenie zmiennych5Podejmowanie decyzji
Instrukcja ifIf - elsePowtórka — prosty kalkulatorZagnieżdżone if - elseInstrukcja unless8Pętle
Pętla for z zakresamiPętla whilebreaknextPowtórka – silniaPętla timesPętla untilPętle zagnieżdżonePowtórka – dynamiczne wejście3Operatory — część 1
Operatory arytmetyczneOperator moduloSkrócone operatory arytmetycznePodsumowanie — prosta matematykaOperatory porównania6Podstawowe wejście i wyjście
Wyświetlanie za pomocą putsWyświetlanie za pomocą print i pWyświetlanie zmiennychWczytywanie za pomocą getsMetoda chompKonwersja typówPodsumowanie – kalkulator wiekuPodsumowanie – prawda czy fałszPoćwicz samodzielnie: Kompilator Ruby online