📜  Ruby数组

📅  最后修改于: 2021-01-08 13:11:36             🧑  作者: Mango

Ruby数组

Ruby数组是对象的有序集合。它们可以容纳整数,数字,哈希,字符串,符号或任何其他数组之类的对象。

它的索引从0开始。负索引从数组的结尾开始从-1开始。例如,-1表示数组的最后一个元素,0表示数组的第一个元素。

创建Ruby数组

Ruby数组可以通过多种方式创建。

  • 使用字面量构造函数[]
  • 使用新的类方法

使用字面量结构[]

Ruby数组是使用字面量构造函数[]构造的。单个数组可以包含不同类型的对象。

例如,以下数组包含一个整数,一个浮点数和一个字符串。

exm = [4, 4.0, "Jose", ] 
puts exm 

输出:

使用新的类方法

通过调用带有零个,一个或多个参数的:: new方法来构造Ruby数组。

句法:

arrayName = Array.new

要设置数组的大小,

句法:

arrayName = Array.new(10)

在这里,我们提到数组大小为10个元素。

要知道数组的大小,可以使用size或length方法。

例:

#!/usr/bin/ruby 

exm = Array.new(10) 
puts exm.size  
puts exm.length 

输出:

例:

#!/usr/bin/ruby 
exm = Array("a"..."z") 
puts "#{exm}"

输出:

访问数组元素

可以使用#[]方法访问Ruby数组元素。您可以传递一个或多个参数,甚至可以传递一系列参数。

#[] method

例:

days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"] 
puts days[0]    
puts days[10] 
puts days[-2]   
puts days[2, 3] 
puts days[1..7] 

输出:

在方法

要访问特定元素,也可以使用at方法。

例:

days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"] 
puts days.at(0) 
puts days.at(-1) 
puts days.at(5) 

输出:

切片法

slice方法的工作方式类似于#[]方法。

提取方法

fetch方法用于为超出数组范围的索引提供默认值错误。

例:

days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"] 
puts days.fetch(10)

输出:

例:

days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"] 
puts days.fetch(10, "oops")

输出:

第一种和最后一种方法

first和last方法将分别返回数组的first和last元素。

例:

days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"] 
puts days.first 
puts days.last 

输出:

采取方法

take方法返回数组的前n个元素。

例:

days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"] 
puts days.take(1) 
puts days.take(2) 

输出:

下降法

drop方法与take方法相反。在删除n个元素后,它返回元素。

例:

days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"] 
puts days.drop(5) 
puts days.drop(6) 

输出:

将项目添加到数组

Ruby数组元素可以以不同的方式添加。

  • 推或<<
  • 不变
  • 插入

推或<<

使用push或<<,可以将项目添加到数组的末尾。

例:

days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"] 
puts days.push("Today") 
puts days << ("Tomorrow") 

输出:

不变

使用unshift,可以在数组的开头添加一个新元素。

例:

days = ["Fri", "Sat", "Sun"] 
puts days.unshift("Today") 

输出:

插入

使用insert,可以将新元素添加到数组中的任何位置。在这里,首先我们要提到要放置元素的索引号。

例:

days = ["Fri", "Sat", "Sun"] 
puts days.insert(2, "Thursday") 

输出:

从阵列中删除项目

Ruby数组元素可以通过不同的方式删除。

  • 流行音乐
  • 转移
  • 删除
  • 优衣库

流行音乐

使用pop,可以从数组末尾删除项目。它返回删除的项目。

例:

days = ["Fri", "Sat", "Sun"] 
puts days.pop 

输出:

转移

使用shift,可以从数组的开头删除项目。它返回删除的项目。

例:

days = ["Fri", "Sat", "Sun"] 
puts days.shift 

输出:

删除

使用删除,可以从阵列中的任何位置删除项目。它返回删除的项目。

例:

days = ["Fri", "Sat", "Sun"] 
puts days.delete("Sat") 

输出:

优衣库

使用uniq,可以从数组中删除重复的元素。它返回剩余的数组。

例:

days = ["Fri", "Sat", "Sun", "Sat"] 
puts days.uniq 

输出: