📅  最后修改于: 2021-01-08 13:11:36             🧑  作者: Mango
Ruby数组是对象的有序集合。它们可以容纳整数,数字,哈希,字符串,符号或任何其他数组之类的对象。
它的索引从0开始。负索引从数组的结尾开始从-1开始。例如,-1表示数组的最后一个元素,0表示数组的第一个元素。
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
输出: