修改数组
本课属于 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 会从数组中删除指定值的所有出现项。
挑战
简单给定以下数组:
tasks = ["email", "meeting", "lunch", "report", "call"]读取 3 个输入:
- 一个索引(整数),表示要修改的位置
- 一个新值(字符串),用于替换该位置的值
- 一个要删除的值(字符串),表示要从数组中移除的元素
按顺序执行以下操作:
- 将给定索引处的元素替换为新值
- 使用
"<code>review" 将元素添加到数组末尾 - 使用铲运算符
<<将"planning"添加到数组末尾 - 使用
pop移除最后一个元素 - 使用
shift移除第一个元素 - 使用
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这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Ruby 在线编译器