数组运算符
本课属于 Coddy Ruby 学习旅程的“基础知识”单元。第 71 课,共 88 课。
Ruby 提供了一些特殊运算符,让你可以用强大的方式组合、比较和操作数组。这些运算符让你能轻松地同时处理多个数组。
+ 运算符会将两个数组合并成一个新数组:
a = [1, 2, 3]
b = [4, 5, 6]
combined = a + b
puts combined # 输出:1、2、3、4、5、6- 运算符会从第一个数组中移除也出现在第二个数组中的元素:
all_numbers = [1, 2, 3, 4, 5]
to_remove = [2, 4]
result = all_numbers - to_remove
puts result # 输出:1, 3, 5& 运算符会返回两个数组中共有的元素(交集):
a = [1, 2, 3, 4]
b = [3, 4, 5, 6]
common = a & b
puts common # 输出:3, 4| 运算符会合并数组并移除重复项(并集):
a = [1, 2, 3]
b = [3, 4, 5]
union = a | b
puts union # 输出:1, 2, 3, 4, 5这些运算符都会创建新数组,并且不会更改原数组。
挑战
简单读取两行输入,每行包含用逗号分隔的整数:
- 第一个数组(例如
1,2,3,4,5) - 第二个数组(例如
3,4,5,6,7)
执行以下操作,并将结果逐行打印:
- 打印两个数组拼接后的每个元素(使用
+) - 打印
---作为分隔符 - 打印差集中的每个元素(第一个数组减去第二个数组,使用
-) - 打印
---作为分隔符 - 打印交集中的每个元素(共同元素,使用
&) - 打印
---作为分隔符 - 打印并集中的每个元素(合并后不含重复元素,使用
|)
例如,如果输入是 1,2,3,4,5 和 3,4,5,6,7,输出应为:
1
2
3
4
5
3
4
5
6
7
---
1
2
---
3
4
5
---
1
2
3
4
5
6
7如果输入是 10,20,30 和 30,40,50,输出应为:
10
20
30
30
40
50
---
10
20
---
30
---
10
20
30
40
50如果输入是 5,10,15 和 1,2,3,输出应为:
5
10
15
1
2
3
---
5
10
15
---
---
5
10
15
1
2
3亲手试试
# 读取输入的数组
input1 = gets.chomp.split(',').map(&:to_i)
input2 = gets.chomp.split(',').map(&:to_i)
# TODO: 在下面编写你的代码
# 执行以下操作:
# 1. 使用 + 拼接数组
# 2. 使用 - 求差集
# 3. 使用 & 求交集
# 4. 使用 | 求并集
# 打印每个结果,并用 "---" 分隔不同操作的结果这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Ruby 在线编译器