Ruby 简明教程
Ruby - Arrays
Ruby 数组是有序、整数索引的任何对象的集合。数组中的每个元素都与一个索引关联并通过索引引用。
数组索引从 0 开始,就像在 C 或 Java 中一样。负索引假定相对于数组的末尾——也就是说,索引 -1 表示数组的最后一个元素,-2 是数组中的倒数第二个元素,依此类推。
Ruby 数组可以包含对象,例如字符串、整数、Fixnum、哈希、符号,甚至是其他数组对象。Ruby 数组不像其他语言中的数组那样严格。在向 Ruby 数组中添加元素时,它们会自动增长。
Creating Arrays
创建或初始化数组有很多方法。一种方法是使用 new 类方法:
names = Array.new
您能在创建数组时设置数组的大小:
names = Array.new(20)
数组名称现在的尺寸或长度是 20 个元素。您可以使用 size 或 length 方法返回数组的大小:
#!/usr/bin/ruby
names = Array.new(20)
puts names.size # This returns 20
puts names.length # This also returns 20
这会产生以下结果 −
20
20
您可以按照如下方式给数组中的每个元素赋一个值:
#!/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]
Array 还有另一种方法 []。它的工作原理如下:
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]