红宝石 |数组
数组是不同或相似项的集合,存储在连续的内存位置。这个想法是将多个相同类型的项目存储在一起,这些项目可以通过一个通用名称来引用。
在 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
# 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}"
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}"
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]
Ruby
# 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]
Ruby
# 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]
- 输出:
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]
输出中不会有任何内容。