Menu
Coddy logo textTech

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, 6

Operator - 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, 5

Operator & 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, 4

Operator | łączy tablice i usuwa duplikaty (suma):

a = [1, 2, 3]
b = [3, 4, 5]
union = a | b

puts union  # Wypisuje: 1, 2, 3, 4, 5

Wszystkie te operatory tworzą nowe tablice i nie zmieniają oryginalnych tablic.

challenge icon

Wyzwanie

Łatwy

Wczytaj dwa wiersze danych wejściowych, każdy zawierający liczby całkowite oddzielone przecinkami:

  1. Pierwsza tablica (np. 1,2,3,4,5)
  2. Druga tablica (np. 3,4,5,6,7)

Wykonaj następujące operacje i wypisz wyniki, każdy w osobnym wierszu:

  1. Wypisz każdy element konkatenacji obu tablic (używając +)
  2. Wypisz --- jako separator
  3. Wypisz każdy element różnicy (pierwsza tablica minus druga, używając -)
  4. Wypisz --- jako separator
  5. Wypisz każdy element części wspólnej (wspólne elementy, używając &)
  6. Wypisz --- jako separator
  7. 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
7

Jeś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
50

Jeś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
3

Spró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 operacjami
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