Menu
CoddyTech

修改数组

本课属于 Coddy Ruby 学习旅程的“基础知识”单元。第 60 课,共 88 课。

现在你已经知道如何访问数组元素,接下来学习如何修改它们。你可以为元素的索引赋一个新值,从而修改任意元素:

fruits = ["apple", "banana", "cherry"]
fruits[1] = "mango"
puts fruits  # 输出:apple, mango, cherry

要向数组中添加元素,可以使用 push 方法或铲运算符 <<。这两种方式都会将元素添加到末尾:

colors = ["red", "blue"]
colors.push("green")
colors << "yellow"
puts colors  # 输出:red, blue, green, yellow

要移除元素,Ruby 提供了几种方法。pop 方法会移除并返回最后一个元素,而 shift 会移除第一个元素:

numbers = [1, 2, 3, 4]
numbers.pop    # 移除 4
numbers.shift  # 移除 1
puts numbers   # 输出:2、3

你也可以使用 delete 删除特定值:

letters = ["a", "b", "c", "b"]
letters.delete("b")
puts letters  # 输出:a, c

请注意,delete 会从数组中删除指定值的所有出现项。

challenge icon

挑战

简单

给定以下数组:

tasks = ["email", "meeting", "lunch", "report", "call"]

读取 3 个输入:

  1. 一个索引(整数),表示要修改的位置
  2. 一个新值(字符串),用于替换该位置的值
  3. 一个要删除的值(字符串),表示要从数组中移除的元素

按顺序执行以下操作:

  1. 将给定索引处的元素替换为新值
  2. 使用 "<code>review" 将元素添加到数组末尾
  3. 使用铲运算符 << 将 "planning" 添加到数组末尾
  4. 使用 pop 移除最后一个元素
  5. 使用 shift 移除第一个元素
  6. 使用 delete 删除指定值的所有匹配项

使用 puts 输出最终数组。

例如,如果输入是 2、break 和 call,输出应为:

meeting
break
report
review

如果输入是 0、standup 和 report,输出应为:

meeting
lunch
call
review

如果输入是 4、demo 和 lunch,输出应为:

meeting
report
demo
review

亲手试试

# 初始数组
tasks = ["email", "meeting", "lunch", "report", "call"]

# 读取输入
index = gets.chomp.to_i
new_value = gets.chomp
value_to_delete = gets.chomp

# TODO: 在下方编写你的代码
# 1. 将给定索引处的元素替换为新值
# 2. 使用 push 将说明中的原文添加到数组末尾
# 3. 使用铲子运算符 << 将 "planning" 添加到数组末尾
# 4. 使用 pop 移除最后一个元素
# 5. 使用 shift 移除第一个元素
# 6. 使用 delete 删除指定值的所有出现项

# 输出最终数组
puts tasks
quiz icon自我测试

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

基础知识中的所有课

自己练习: Ruby 在线编译器