推荐答案
在 Ruby 中,可以通过索引访问和修改数组元素。数组的索引从 0 开始,使用方括号 [] 来访问或修改特定位置的元素。
访问数组元素
array = [1, 2, 3, 4, 5] element = array[2] # 访问索引为 2 的元素,返回 3
修改数组元素
array = [1, 2, 3, 4, 5] array[2] = 10 # 将索引为 2 的元素修改为 10 puts array.inspect # 输出 [1, 2, 10, 4, 5]
本题详细解读
数组的索引
Ruby 数组的索引从 0 开始,即第一个元素的索引为 0,第二个元素的索引为 1,依此类推。可以使用负数索引来从数组末尾开始访问元素,例如 array[-1] 访问最后一个元素。
访问数组元素
使用 array[index] 可以访问数组中指定索引的元素。如果索引超出数组范围,返回 nil。
array = [1, 2, 3, 4, 5] puts array[0] # 输出 1 puts array[-1] # 输出 5 puts array[10] # 输出 nil
修改数组元素
使用 array[index] = value 可以修改数组中指定索引的元素。如果索引超出数组范围,数组会自动扩展并用 nil 填充未定义的元素。
array = [1, 2, 3, 4, 5] array[2] = 10 # 修改索引为 2 的元素 puts array.inspect # 输出 [1, 2, 10, 4, 5] array[10] = 100 # 修改索引为 10 的元素,数组扩展 puts array.inspect # 输出 [1, 2, 10, 4, 5, nil, nil, nil, nil, nil, 100]
使用 fetch 方法
fetch 方法可以安全地访问数组元素,如果索引超出范围,可以指定默认值或抛出异常。
array = [1, 2, 3, 4, 5]
puts array.fetch(2, 'default') # 输出 3
puts array.fetch(10, 'default') # 输出 'default'
puts array.fetch(10) { |i| "Index #{i} is out of bounds" } # 输出 "Index 10 is out of bounds"使用 at 方法
at 方法与 [] 类似,用于访问数组元素,但不支持负数索引。
array = [1, 2, 3, 4, 5] puts array.at(2) # 输出 3 puts array.at(-1) # 抛出 IndexError
通过这些方法,可以灵活地访问和修改 Ruby 数组中的元素。