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, 6Toá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, 5Toá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, 4Toá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, 5Tấ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.
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:
- Mảng thứ nhất (ví dụ:
1,2,3,4,5) - 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:
- In từng phần tử của phép nối hai mảng (dùng
+) - In
---làm dấu phân cách - In từng phần tử của hiệu (mảng thứ nhất trừ mảng thứ hai, dùng
-) - In
---làm dấu phân cách - In từng phần tử của giao (các phần tử chung, dùng
&) - In
---làm dấu phân cách - 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
7Nế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
50Nế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
3Tự 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ánBà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
4Toán tử phần 2
Toán tử logic phần 1Toán tử logic phần 2Ôn tập: logic đơn giảnToán tử logic phần 3Toán tử logic phần 42Biến và kiểu dữ liệu
Số và biếnKiểu dữ liệu chuỗiKiểu dữ liệu BooleanKiểu dữ liệu SymbolKiểm tra kiểu dữ liệuQuy ước đặt tênÔn tập: tạo biến8Vòng lặp
Vòng lặp for với khoảng giá trịVòng lặp whileThoátTiếp tụcÔn tập: giai thừaVòng lặp timesVòng lặp untilVòng lặp lồng nhauÔn tập: đầu vào động3Toán tử phần 1
Toán tử số họcToán tử moduloPhép tính số học rút gọnÔn tập: Toán cơ bảnToán tử so sánh6Nhập xuất cơ bản
In ra bằng putsIn ra bằng print và pIn ra bằng biếnNhập dữ liệu bằng getsPhương thức chompChuyển đổi kiểu dữ liệuÔn tập: Tính tuổiÔn tập: Đúng hay sai9Phương thức
Định nghĩa phương thứcTham số phương thứcGiá trị trả vềÔn tập: phương thức SigmaÔn tập: phương thức xác thựcGiá trị tham số mặc định15Theo dõi chi tiêu hằng ngày
Tổng quan dự ánThoát chương trìnhTự luyện tập: Trình biên dịch Ruby online