Skróty dotyczące tablic
Część sekcji Podstawy ścieżki Ruby w Coddy. Lekcja 64 z 88.
Ruby oferuje wygodne skróty do tworzenia tablic, szczególnie podczas pracy z ciągami znaków lub kolejnymi liczbami. Te skróty oszczędzają czas i sprawiają, że kod jest bardziej przejrzysty.
Składnia %w tworzy tablicę ciągów znaków bez konieczności używania cudzysłowów ani przecinków:
fruits = %w[apple banana cherry]
puts fruits # Wyświetla: apple, banana, cherryJest to równoważne zapisaniu ["apple", "banana", "cherry"], ale znacznie bardziej zwięzłe. Każde słowo oddzielone spacją staje się osobnym elementem.
W przypadku tablic symboli użyj %i:
statuses = %i[pending active completed]
puts statuses # Wyświetla: pending, active, completedAby utworzyć tablice kolejnych liczb, możesz przekonwertować zakres na tablicę za pomocą to_a:
numbers = (1..5).to_a
puts numbers # Wypisuje: 1, 2, 3, 4, 5Możesz też użyć operatora splat * wewnątrz nawiasów tablicy:
countdown = [*5..10]
puts countdown # Wypisuje: 5, 6, 7, 8, 9, 10Te skróty są szczególnie przydatne, gdy chcesz szybko zdefiniować listę znanych wartości bez wizualnego bałaganu związanego z cudzysłowami i przecinkami.
Wyzwanie
ŁatwyWczytaj dwa dane wejściowe:
- Jeden wiersz ze słowami oddzielonymi spacjami (np.
red green blue yellow) - Dwie liczby całkowite oddzielone przecinkiem, reprezentujące zakres (np.
3,7)
Wykonaj następujące zadania:
- Utwórz tablicę ciągów znaków z pierwszego wejścia, używając skróconej składni
%w. Ponieważ dane wejściowe są już ciągiem znaków, najpierw użyjsplit, aby przekształcić go w tablicę, a następnie zademonstruj użycie%w, tworząc osobną tablicę ze słowamialpha,beta,gamma. - Utwórz tablicę symboli, używając
%iz wartościamistart,middle,end. - Utwórz tablicę kolejnych liczb z zakresu podanego w drugim wejściu, używając operatora splat
*wewnątrz nawiasów tablicy.
Wypisz poniższe elementy w osobnych wierszach:
- Każdy element tablicy słów z wejścia
- Pusty wiersz
- Każdy element tablicy
%w(alpha, beta, gamma) - Pusty wiersz
- Każdy element tablicy symboli
%i - Pusty wiersz
- Każdy element tablicy zakresu liczb
Na przykład, jeśli dane wejściowe to red green blue i 1,5, wynik powinien być następujący:
red
green
blue
alpha
beta
gamma
start
middle
end
1
2
3
4
5Jeśli dane wejściowe to sun moon star i 10,13, wynik powinien być następujący:
sun
moon
star
alpha
beta
gamma
start
middle
end
10
11
12
13Spróbuj swoich sił
# Wczytaj słowa oddzielone spacjami
words_input = gets.chomp
# Wczytaj zakres (dwie liczby całkowite oddzielone przecinkiem)
range_input = gets.chomp
# TODO: Napisz swój kod poniżej
# 1. Utwórz tablicę z words_input za pomocą split
# 2. Utwórz tablicę %w zawierającą alpha, beta, gamma
# 3. Utwórz tablicę %i zawierającą start, middle, end
# 4. Przetwórz zakres i utwórz tablicę za pomocą operatora splat (*)
# Wypisz elementy każdej tablicy w osobnych wierszach, pozostawiając puste wiersze między tablicamiTa 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żytkownika2Zmienne 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