Menu
CoddyTech

Toán tử mảng

Thuộc phần Kiến thức nền tảng trong hành trình Ruby của Coddy. Bài học 71 trên 88.

Ruby cung cấp các toán tử đặc biệt giúp bạn kết hợp, so sánh và thao tác với mảng theo những cách mạnh mẽ. Các toán tử này giúp bạn dễ dàng làm việc với nhiều mảng cùng lúc.

Toán tử + nối hai mảng thành một mảng mới:

a = [1, 2, 3]
b = [4, 5, 6]
combined = a + b

puts combined  # Đầu ra: 1, 2, 3, 4, 5, 6

Toán tử - loại bỏ khỏi mảng thứ nhất các phần tử xuất hiện trong mảng thứ hai:

all_numbers = [1, 2, 3, 4, 5]
to_remove = [2, 4]
result = all_numbers - to_remove

puts result  # Đầu ra: 1, 3, 5

Toán tử & trả về các phần tử chung trong cả hai mảng (phép giao):

a = [1, 2, 3, 4]
b = [3, 4, 5, 6]
common = a & b

puts common  # Đầu ra: 3, 4

Toán tử | kết hợp các mảng và loại bỏ phần tử trùng lặp (phép hợp):

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

puts union  # Đầu ra: 1, 2, 3, 4, 5

Tất cả các toán tử này đều tạo ra mảng mới và giữ nguyên các mảng ban đầu.

challenge icon

Thử thách

Dễ

Đọc hai dòng đầu vào, mỗi dòng chứa các số nguyên được phân tách bằng dấu phẩy:

  1. Mảng thứ nhất (ví dụ: 1,2,3,4,5)
  2. Mảng thứ hai (ví dụ: 3,4,5,6,7)

Thực hiện các phép toán sau và in kết quả, mỗi kết quả trên một dòng riêng:

  1. In từng phần tử của phép nối hai mảng (dùng +)
  2. In --- làm dấu phân cách
  3. In từng phần tử của hiệu (mảng thứ nhất trừ mảng thứ hai, dùng -)
  4. In --- làm dấu phân cách
  5. In từng phần tử của giao (các phần tử chung, dùng &)
  6. In --- làm dấu phân cách
  7. In từng phần tử của hợp (kết hợp các phần tử mà không lặp lại, dùng |)

Ví dụ: nếu đầu vào là 1,2,3,4,5 và 3,4,5,6,7, đầu ra sẽ là:

1
2
3
4
5
3
4
5
6
7
---
1
2
---
3
4
5
---
1
2
3
4
5
6
7

Nếu đầu vào là 10,20,30 và 30,40,50, đầu ra sẽ là:

10
20
30
30
40
50
---
10
20
---
30
---
10
20
30
40
50

Nếu đầu vào là 5,10,15 và 1,2,3, đầu ra sẽ là:

5
10
15
1
2
3
---
5
10
15
---
---
5
10
15
1
2
3

Tự làm thử

# Đọc các mảng đầu vào
input1 = gets.chomp.split(',').map(&:to_i)
input2 = gets.chomp.split(',').map(&:to_i)

# TODO: Viết code của bạn bên dưới
# Thực hiện các phép toán sau:
# 1. Nối mảng bằng +
# 2. Lấy hiệu bằng -
# 3. Lấy giao bằng &
# 4. Lấy hợp bằng |
# In ra từng kết quả, dùng "---" để phân tách các phép toán
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Trình biên dịch Ruby online