Ruby - Arrays(数组)

Ruby - Arrays(数组) 首页 / Ruby入门教程 / Ruby - Arrays(数组)

Ruby Array数组是任何对象的有序,整数索引集合,数组中的每个元素都与索引关联并由索引引用。

数组索引从0开始,如C或Java。假定相对于数组末尾为负索引---索引-1表示数组的最后一个元素,-2是数组中最后一个元素的下一个,依此类推。

Ruby数组可以包含String,Integer,Fixnum,Hash,Symbol等对象,甚至可以包含其他数组对象。 Ruby数组不像其他语言中的数组那样严格,在添加元素时会自动增长。

创建数组

有很多创建或初始化数组的方法。一种方法是使用 new 方法-

names=Array.new

您可以在创建数组时设置数组的大小-

names=Array.new(20)

数组名称现在的大小或长度为20个元素。您可以使用sizelength方法返回数组的大小-

#!/usr/bin/ruby

names=Array.new(20)
puts names.size  # This returns 20
puts names.length # This also returns 20

这将产生以下输出-

无涯教程网

20
20

您可以为数组中的每个元素分配一个值,如下所示:

链接:https://www.learnfk.comhttps://www.learnfk.com/ruby/ruby-arrays.html

来源:LearnFk无涯教程网

#!/usr/bin/ruby

names=Array.new(4, "mac")
puts "#{names}"

这将产生以下输出-

无涯教程网

["mac", "mac", "mac", "mac"]

您还可以将块与new一起使用,并使用该块求和的输出填充每个元素-

#!/usr/bin/ruby

nums=Array.new(10) { |e| e=e * 2 }
puts "#{nums}"

这将产生以下输出-

无涯教程网

[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

数组还有另一种方法[]。它是这样的-

nums=Array.[](1, 2, 3, 4,5)

数组创建的另一种形式如下-

nums=Array[1, 2, 3, 4,5]

Ruby核心中提供的 Kernel 模块具有一个Array方法,该方法仅接受一个参数。在这里,该方法将范围作为参数来创建数字数组-

#!/usr/bin/ruby

digits=Array(0..9)
puts "#{digits}"

这将产生以下输出-

无涯教程网

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

内置方法

无涯教程需要一个Array对象的来调用Array方法。如上所见,以下是创建Array对象的方法-

Array.[](...) [or] Array[...] [or] [...]

这将返回一个填充有给定对象的新数组。现在,使用创建的对象,可以调用任何可用的方法。如-

#!/usr/bin/ruby

digits=Array(0..9)
num=digits.at(6)
puts "#{num}"

这将产生以下输出-

无涯教程网

6

pack 指令

请尝试以下示例打包各种数据。

a=[ "a", "b", "c" ]
n=[ 65, 66, 67 ]
puts a.pack("A3A3A3")   #=> "a  b  c  "
puts a.pack("a3a3a3")   #=> "a\000\000b\000\000c\000\000"
puts n.pack("ccc")      #=> "ABC"

这将产生以下输出-

无涯教程网

a  b  c
abc
ABC

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

人工智能基础课 -〔王天一〕

技术领导力实战笔记 -〔TGO鲲鹏会〕

机器学习40讲 -〔王天一〕

玩转Git三剑客 -〔苏玲〕

摄影入门课 -〔小麥〕

Serverless入门课 -〔蒲松洋(秦粤)〕

技术面试官识人手册 -〔熊燚(四火)〕

反爬虫兵法演绎20讲 -〔DS Hunter〕

手把手带你写一个MiniSpring -〔郭屹〕

好记忆不如烂笔头。留下您的足迹吧 :)