Ruby 数组
-
-
创建数组
有很多创建或初始化数组的方法。一种方法是使用类new方法-names = Array.new
您可以在创建数组时设置数组的大小-names = Array.new(20)
现在,数组名称的大小或长度为20个元素。您可以使用size或length方法返回数组的大小-
尝试一下names = Array.new(20) puts names.size # This returns 20 puts names.length # This also returns 20
您可以为数组中的每个元素分配一个值,如下所示:
尝试一下names = Array.new(4, "mac") puts "#{names}"
您还可以将块与new一起使用,并使用该块求和的结果填充每个元素-
尝试一下nums = Array.new(10) { |e| e = e * 2 } puts "#{nums}"
数组还有另一种方法[]。它是这样的-nums = Array.[](1, 2, 3, 4,5)
数组创建的另一种形式如下-nums = Array[1, 2, 3, 4,5]
Ruby 核心中提供的Kernel模块具有Array方法,该方法仅接受单个参数。在这里,该方法将范围(Range)作为参数来创建数字数组-
尝试一下digits = Array(0..9) puts "#{digits}"
-
数组内置方法
我们需要一个Array对象的实例来调用Array方法。如我们所见,以下是创建Array对象实例的方法-Array.[](...) [or] Array[...] [or] [...]
这将返回一个填充有给定对象的新数组。现在,使用创建的对象,我们可以调用任何可用的实例方法。例如-
尝试一下digits = Array(0..9) num = digits.at(6) puts "#{num}"
-
数组打包
请尝试以下示例打包各种数据。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"
更多内置函数,参考方法,请查阅参考手册。