Operatory tablic
Część sekcji Podstawy ścieżki Ruby w Coddy. Lekcja 71 z 88.
Ruby udostępnia specjalne operatory, które pozwalają łączyć, porównywać i modyfikować tablice na różne sposoby. Dzięki tym operatorom łatwo pracować jednocześnie z wieloma tablicami.
Operator + łączy dwie tablice w nową:
a = [1, 2, 3]
b = [4, 5, 6]
combined = a + b
puts combined # Wyświetla: 1, 2, 3, 4, 5, 6Operator - usuwa z pierwszej tablicy elementy, które występują w drugiej:
all_numbers = [1, 2, 3, 4, 5]
to_remove = [2, 4]
result = all_numbers - to_remove
puts result # Wyświetla: 1, 3, 5Operator & zwraca elementy wspólne dla obu tablic (część wspólną):
a = [1, 2, 3, 4]
b = [3, 4, 5, 6]
common = a & b
puts common # Wypisuje: 3, 4Operator | łączy tablice i usuwa duplikaty (suma):
a = [1, 2, 3]
b = [3, 4, 5]
union = a | b
puts union # Wypisuje: 1, 2, 3, 4, 5Wszystkie te operatory tworzą nowe tablice i nie zmieniają oryginalnych tablic.
Wyzwanie
ŁatwyWczytaj dwa wiersze danych wejściowych, każdy zawierający liczby całkowite oddzielone przecinkami:
- Pierwsza tablica (np.
1,2,3,4,5) - Druga tablica (np.
3,4,5,6,7)
Wykonaj następujące operacje i wypisz wyniki, każdy w osobnym wierszu:
- Wypisz każdy element konkatenacji obu tablic (używając
+) - Wypisz
---jako separator - Wypisz każdy element różnicy (pierwsza tablica minus druga, używając
-) - Wypisz
---jako separator - Wypisz każdy element części wspólnej (wspólne elementy, używając
&) - Wypisz
---jako separator - Wypisz każdy element sumy (połączone elementy bez powtórzeń, używając
|)
Na przykład, jeśli dane wejściowe to 1,2,3,4,5 i 3,4,5,6,7, wynik powinien wyglądać następująco:
1
2
3
4
5
3
4
5
6
7
---
1
2
---
3
4
5
---
1
2
3
4
5
6
7Jeśli dane wejściowe to 10,20,30 i 30,40,50, wynik powinien wyglądać następująco:
10
20
30
30
40
50
---
10
20
---
30
---
10
20
30
40
50Jeśli dane wejściowe to 5,10,15 i 1,2,3, wynik powinien wyglądać następująco:
5
10
15
1
2
3
---
5
10
15
---
---
5
10
15
1
2
3Spróbuj swoich sił
# Wczytaj tablice wejściowe
input1 = gets.chomp.split(',').map(&:to_i)
input2 = gets.chomp.split(',').map(&:to_i)
# TODO: Napisz swój kod poniżej
# Wykonaj następujące operacje:
# 1. Łączenie za pomocą +
# 2. Różnica za pomocą -
# 3. Część wspólna za pomocą &
# 4. Suma zbiorów za pomocą |
# Wypisz każdy wynik, używając "---" jako separatora między operacjamiTa 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