Ruby 数组
数组是不同或类似项目的集合,存储在连续的内存位置。
在Ruby中,数字、字符串等都是原始类型,但数组是对象类型,即数组是有序的、以整数为索引的对象的集合,可以存储数字、整数、字符串、哈希、符号、对象甚至任何其他数组。一般来说,数组是通过列出元素来创建的,元素之间用逗号隔开,并在方括号[]中括起来。
例子:
["Geeks", 55, 61, "GFG"]
这里数组包含4个不同类型的元素,即 Geeks (字符串), 55 (数字), 61 (数字)和 GFG (字符串)。数组的正向索引从0开始,负向索引总是从-1开始,代表从数组的末端开始的元素。可以有 二维数组 ,即数组将存储另一个数组。它也被称为 嵌套数组。 这里我们将只讨论一维数组。
在Ruby中创建一维数组
有几种方法可以创建一个数组。但是有两种方法是最常用的,如下所示:
使用new类方法: new是一种方法,可以在点运算符的帮助下用来创建数组。这里::new 方法带有零个、一个或多个参数,在内部被调用。向方法传递参数意味着向数组提供大小和元素。
语法:
name_of_array= Array.new
例如:
arr = Array.new
这里arr是数组的名称。这里Array是Ruby库中预定义的类名, new是预定义的方法。
注意: 要找到一个数组的大小或长度,只需使用size方法或length方法。对于一个特定的数组,这两种方法将返回相同的值。
arr = Array.new(40)
arr.size
arr.length
现在数组可以容纳40个元素。这里40是数组的大小和长度。
程序:
# Ruby program to demonstrate the
# creation of array using new method
# and to find the size and length of array
# creating array using new method
# without passing any parameter
arr = Array.new()
# creating array using new method
# passing one parameter i.e. the
# size of array
arr2 = Array.new(7)
# creating array using new method
# passing two parameters i.e. the
# size of array & element of array
arr3 = Array.new(4, "GFG")
# displaying the size of arrays
# using size and length method
puts arr.size
puts arr2.length
puts arr3.size
# displaying array elements
puts "#{arr3}"
输出:
0
7
4
["GFG", "GFG", "GFG", "GFG"]
使用字面构造函数[] 在Ruby中,[]被称为字面构造函数,可以用来创建数组。在[]之间,不同或相似的类型的值可以被分配给一个数组
例子:
# Ruby program to demonstrate the
# creation of array using literal
# constructor[] and to find the size
# and length of array
# creating array of characters
arr = Array['a', 'b', 'c', 'd','e', 'f']
# displaying array elements
puts "#{arr}"
# displaying array size
puts "Size of arr is: #{arr.size}"
# displaying array length
puts "Length of arr is: #{arr.length}"
输出:
["a", "b", "c", "d", "e", "f"]
[1, 2, 3, 4, 5, 6, 7]
Size of arr is: 6
Length of arr is: 6
检索或访问数组中的元素
在Ruby中,有几种方法来检索数组中的元素。Ruby数组提供了很多不同的方法来访问数组中的元素。但是最常用的方法是使用数组的索引。
例子:
# Ruby program to demonstrate the
# accessing the elements of the array
# creating string using []
str = ["GFG", "G4G", "Sudo", "Geeks"]
# accessing array elements
# using index
puts str[1]
# using the negative index
puts str[-1]
输出:
G4G
Geeks
从数组中获取多个元素: 在很多情况下,用户需要从数组中获取多个元素。因此,要访问多个元素,将两个指定的数组索引传入[]。
例子:
# Ruby program to demonstrate the
# accessing the multiple elements
# from array
# creating string using []
str = ["GFG", "G4G", "Sudo", "Geeks"]
# accessing multiple array elements
puts str[2,3]
输出:
Sudo
Geeks
注意: 如果用户试图访问数组中不存在的元素,那么将返回 nil 。
示例:
# Ruby program to demonstrate the accessing
# of array element that doesn't exist
# creating array using []
arr = [1, 2, 3, 4]
# accessing the index which
# doesn't exist
puts arr[4]
输出中不会有任何东西。