📜  红宝石 |数组

📅  最后修改于: 2022-05-13 01:55:19.755000             🧑  作者: Mango

红宝石 |数组

数组是不同或相似项的集合,存储在连续的内存位置。这个想法是将多个相同类型的项目存储在一起,这些项目可以通过一个通用名称来引用。
在 Ruby 中,数字、字符串等都是原始类型,但数组是对象类型,即数组是有序的整数索引对象的集合,可以存储数字、整数、字符串、哈希、符号、对象甚至任何其他数组.通常,通过列出将用逗号分隔并括在方括号[]之间的元素来创建数组。
例子:

["Geeks", 55, 61, "GFG"]

这里数组包含 4 个不同类型的元素,即Geeks (字符串)、 55 (数字)、 61 (数字)和GFG (字符串)。数组正索引从 0 开始。负索引始终以 -1 开始,表示从数组末尾开始的元素。可以有二维数组,即数组将存储另一个数组。它也被称为嵌套数组。这里我们只讨论一维数组。

在 Ruby 中创建一维数组

有几种方法可以创建数组。但是有两种主要使用的方式如下:

  1. 使用new类方法: new是一种可用于在点运算符的帮助下创建数组的方法。此处:内部调用具有零个、一个或多个参数的::new方法。将参数传递给方法意味着将大小提供给数组,将元素提供给数组。
    句法:
name_of_array= Array.new
  1. 例子:
arr = Array.new
  1. 这里arr是数组的名称。这里Array是 Ruby 库中预定义的类名, new是预定义的方法。
    注意:要查找数组的大小或长度,只需使用size 方法length 方法。两种方法都将为特定数组返回相同的值。
arr = Array.new(40)
arr.size
arr.length
  1. 现在数组可以容纳 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]


  1. 输出:
0
7
4
["GFG", "GFG", "GFG", "GFG"]
  1. 使用字面量构造函数[]在 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}"
  1. 输出:
["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]

输出中不会有任何内容。