Menu
CoddyTech

数组运算符

本课属于 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

这些运算符都会创建新数组,并且不会更改原数组。

challenge icon

挑战

简单

读取两行输入,每行包含用逗号分隔的整数:

  1. 第一个数组(例如 1,2,3,4,5)
  2. 第二个数组(例如 3,4,5,6,7)

执行以下操作,并将结果逐行打印:

  1. 打印两个数组拼接后的每个元素(使用 +)
  2. 打印 --- 作为分隔符
  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. 使用 | 求并集
# 打印每个结果,并用 "---" 分隔不同操作的结果
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Ruby 在线编译器