📜  array ruby (1)

📅  最后修改于: 2023-12-03 14:39:20.896000             🧑  作者: Mango

Ruby数组详解

在 Ruby 中,数组是一个可变长度、可以存储任意类型元素的数据结构。本文将深入介绍 Ruby 中的数组。

创建数组

可以使用 []Array.new 创建一个空数组,并使用索引添加元素。

[]                              # []
Array.new                       # []
a = []                          # []
a[0] = 1                        # [1]
a[1] = "two"                    # [1, "two"]

可以使用数组字面量创建包含初始元素的数组。

[1, 2, 3]                       # [1, 2, 3]
[1..3]                          # [1..3]
[*1..3]                         # [1, 2, 3]
数组元素的访问

可以使用索引访问指定位置的元素。

a = [0, 1, 2, 3]
a[0]                            # 0
a[-1]                           # 3
a[10]                           # nil
a.fetch(10, "unknown")          # "unknown"

访问数组的首个元素和末尾元素。

a = [0, 1, 2, 3]
a.first                         # 0
a.last                          # 3
a.first(2)                      # [0, 1]
a.last(2)                       # [2, 3]

可以使用 each 遍历数组。

a = [0, 1, 2, 3]
a.each { |i| puts i }           # 0
                                # 1
                                # 2
                                # 3
数组操作

可以使用 + 连接两个数组。

a = [0, 1, 2]
b = [3, 4, 5]
a + b                           # [0, 1, 2, 3, 4, 5]

可以使用 * 复制数组。

a = [0, 1, 2]
a * 3                           # [0, 1, 2, 0, 1, 2, 0, 1, 2]

可以使用 << 在末尾添加元素。

a = [0, 1, 2]
a << 3                          # [0, 1, 2, 3]
a.push(4)                       # [0, 1, 2, 3, 4]

可以使用 pop 在末尾删除元素。

a = [0, 1, 2, 3, 4]
a.pop                           # 4
a                               # [0, 1, 2, 3]

可以使用 shift 在开头删除元素。

a = [0, 1, 2, 3, 4]
a.shift                         # 0
a                               # [1, 2, 3, 4]

可以使用 unshift 在开头添加元素。

a = [1, 2, 3]
a.unshift(0)                    # [0, 1, 2, 3]

可以使用 reverse 反转数组。

a = [0, 1, 2, 3, 4]
a.reverse                       # [4, 3, 2, 1, 0]

可以使用 sort 对数组进行排序。

a = [4, 2, 0, 3, 1]
a.sort                          # [0, 1, 2, 3, 4]
数组转换

可以使用 join 将数组转换为字符串。

a = [0, 1, 2, 3, 4]
a.join(", ")                    # "0, 1, 2, 3, 4"

可以使用 to_a 将哈希表转换为数组。

h = { "a" => 1, "b" => 2 }
h.to_a                          # [["a", 1], ["b", 2]]
总结

在本文中,我们学习了如何创建和操作 Ruby 数组。数组是 Ruby 的一个非常有用的数据结构,具有许多强大的功能。我们鼓励您多多尝试使用它们,并以此提高您的 Ruby 技能!