Ruby 数组
Ruby 数组
Ruby 数组是对象的有序集合。它们可以保存整数、数字、散列、字符串、符号或任何其他数组等对象。
它的索引从0开始。负索引从数组的末尾开始从-1开始。例如,-1 表示数组的最后一个元素,0 表示数组的第一个元素。
创建 Ruby 数组
创建 Ruby 数组的方法有很多。
使用文字构造函数 []
使用新的类方法
使用文字构造[]
Ruby 数组是使用文字构造[] 构造的。单个数组可以包含不同类型的对象。
例如,下面的数组包含一个整数、浮点数和一个字符串。
exm = [4, 4.0,
"Jose", ] puts exm
输出:
使用新的类方法
Ruby 数组是通过调用带有零个、一个或多个参数的 ::new 方法构造的。
语法:
设置数组的大小,
语法:
arrayName = Array.
new(10)
这里,我们已经提到数组大小为 10 个元素。
要知道数组的大小,可以使用大小或长度方法。
示例:
#!/usr/bin/ruby exm = Array.
new(10) puts exm.size puts exm.length
输出:
示例:
#!/usr/bin/ruby exm = Array(
"a"...
"z") puts
"#{exm}"
输出:
访问数组元素
Ruby 数组元素可以使用#[] 方法访问。您可以传递一个或多个参数,甚至是一系列参数。
示例:
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 方法
要访问特定元素,也可以使用 at 方法。
示例:
days = [
"Mon",
"Tue",
"Wed",
"Thu",
"Fri",
"Sat",
"Sun"] puts days.
at(0) puts days.
at(-1) puts days.
at(5)
输出:
切片方法
切片方法与#[]方法类似。
fetch方法
使用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")
输出:
首先和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 或
使用 push 或 <<,可以将项目添加到数组的末尾。
示例:
days = [
"Mon",
"Tue",
"Wed",
"Thu",
"Fri",
"Sat",
"Sun"] puts days.
push(
"Today") puts days << (
"Tomorrow")
输出:
unshift
使用 unshift,可以在数组的开头添加一个新元素。
示例:
days = [
"Fri",
"Sat",
"Sun"] puts days.
unshift(
"Today")
输出:
insert
使用insert,可以在数组的任何位置添加新元素。在这里,首先我们需要提及我们想要定位元素的索引号。
示例:
days = [
"Fri",
"Sat",
"Sun"] puts days.
insert(2,
"Thursday")
输出:
从数组中删除项目
Ruby 数组元素可以通过不同的方式删除。
弹出
移位
删除
uniq
pop
使用 pop,可以从数组的末尾删除项目。它返回已删除的项目。
示例:
days = [
"Fri",
"Sat",
"Sun"] puts days.pop
输出:
shift
使用 shift,可以从数组的开头删除项目。它返回已删除的项目。
示例:
days = [
"Fri",
"Sat",
"Sun"] puts days.shift
输出:
delete
使用删除,可以从数组中的任何位置删除项目。它返回已删除的项目。
示例:
days = [
"Fri",
"Sat",
"Sun"] puts days.
delete("Sat")
输出:
uniq
使用 uniq,可以从数组中删除重复元素。它返回剩余的数组。
示例:
days = [
"Fri",
"Sat",
"Sun", "Sat"] puts days.uniq
输出: