📜  红宝石 |数组(1)

📅  最后修改于: 2023-12-03 15:27:30.725000             🧑  作者: Mango

Ruby | Array

Ruby是一种面向对象的编程语言,其内置的Array类实现了数组类型的数据结构。在Ruby中,数组是由一组元素构成的序列,可以存储任何类型的对象,具有以下特性:

  • 动态调整大小:可以在运行时添加或删除元素。
  • 支持混合类型:可以混合存储不同类型的元素。
  • 支持索引访问:可以通过下标来访问数组中的元素。
  • 支持迭代器:可以使用迭代器访问数组中的元素。
创建数组

可以使用[]操作符来创建一个新的空数组,还可以使用Array.new方法来创建指定大小的数组。以下是创建数组的示例代码:

# 创建一个空数组
arr1 = []

# 创建一个指定大小的数组
arr2 = Array.new(3)

# 创建一个包含初始值的数组
arr3 = Array.new(3, 0)

# 创建一个包含不同类型元素的数组
arr4 = ['apple', 1, { name: 'John' }]
访问数组元素

可以使用索引下标来访问数组中的元素,下标从0开始。如果访问越界会返回nil或抛出异常,如果想获取最后一个元素,可以使用负数下标。

arr = ['apple', 'banana', 'orange']
puts arr[0]      # 'apple'
puts arr[1]      # 'banana'
puts arr[-1]     # 'orange'
puts arr[100]    # nil
修改数组元素

可以使用下标来修改数组中的元素,如果下标越界会自动扩容数组。

arr = [1, 2, 3]
arr[0] = 0
arr[3] = 4
puts arr        # [0, 2, 3, 4]

还可以使用Array的其他方法来修改数组,例如push、pop、shift、unshift、insert、delete等。这些方法都会修改原数组,具体用法可以查看Ruby官方文档。

遍历数组

Ruby提供了多种遍历数组的方法,例如for循环、while循环、each迭代器、map方法等。以下是使用each迭代器遍历数组的示例代码:

arr = [1, 2, 3]
arr.each do |item|
  puts item
end
数组操作符

除了下标访问和赋值运算符之外,Ruby还提供了一些其他的数组操作符,例如+、-、<<、&、|等。这些操作符可以用来合并、删除、添加、交集、并集数组等,具体用法可以查看Ruby官方文档。

总结

Ruby的Array类提供了丰富的数组操作方法,可以快速便捷地实现大部分的数组操作。需要注意的是,在涉及到多维数组和大数组时,可能需要考虑性能和内存方面的问题。