Ruby数组

Ruby 数组是任何对象的有序整数索引集合。数组中的每个元素都与一个索引相关,并可通过索引进行获取。

数组的索引从 0 开始,这与 CJava 中一样。一个负数的索相对于数组的末尾计数的,也就是说,索引为 -1 表示数组的最后一个元素,-2 表示数组中的倒数第二个元素,依此类推。

Ruby 数组可存储诸如 String、 Integer、 Fixnum、 Hash、 Symbol 等对象,甚至可以是其他 Array 对象。

Ruby 数组不需要指定大小,当向数组添加元素时,Ruby 数组会自动增长。

创建数组

有多种方式创建或初始化数组。一种方式是通过 new 类方法:

names = Array.new

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

names = Array.new(20)

数组 names 的大小或长度为 20 个元素。您可以使用 size 或 length 方法返回数组的大小。

案例

Ruby数组长度

使用 size 或者 length 获取数组的长度

#!/usr/bin/ruby -w # -*- coding : utf-8 -*- puts "HaiCoder(www.haicoder.net)" names = Array.new(20) puts names.size puts names.length

程序运行后,控制台输出如下:

01_Ruby数组长度.png

我们使用了 size 和 length 获取了数组的长度。

Ruby数组赋值

给数组元素赋值

#!/usr/bin/ruby -w # -*- coding : utf-8 -*- puts "HaiCoder(www.haicoder.net)" names = Array.new(4, "mac") puts "#{names}"

程序运行后,控制台输出如下:

02_Ruby数组元素赋值.png

使用 new 创建数组时,给数组中的每个元素赋值。

使用块填充数组

使用块来填充数组

#!/usr/bin/ruby -w # -*- coding : utf-8 -*- puts "HaiCoder(www.haicoder.net)" nums = Array.new(10) { |e| e = e * 2 } puts "#{nums}"

程序运行后,控制台输出如下:

03_Ruby数组.png

使用带有 new 的块,每个元素使用块中的计算结果来填充。

创建数组

可以使用 [] 创建数组

#!/usr/bin/ruby -w # -*- coding : utf-8 -*- puts "HaiCoder(www.haicoder.net)" nums = Array[1, 2, 3, 4, 5] puts "#{nums}"

程序运行后,控制台输出如下:

04_Ruby数组.png

创建数组时,并初始化。

使用范围创建数组

使用数组创建数组

#!/usr/bin/ruby -w # -*- coding : utf-8 -*- puts "HaiCoder(www.haicoder.net)" digits = Array(0..9) puts "#{digits}"

程序运行后,控制台输出如下:

05_Ruby数组.png

在 Ruby 核心模块中可以有一个只接收单个参数的 Array 方法,该方法使用一个范围作为参数来创建一个数字数组。

Ruby数组总结

Ruby 数组是任何对象的有序整数索引集合。数组中的每个元素都与一个索引相关,并可通过索引进行获取。