在Ruby中使用Array.new(size){| index |}创建数组

在上一篇文章中,我们了解了如何在方法的帮助下声明Array类实例?您还可以注意到,在编写用于演示所有这些方法的程序代码中,它们均使用常规方法声明了Array实例,例如,Array.new(Array)

array_name = ['ele1', 'ele2', 'ele3', ..., 'eleN']

现在,在阅读了之前的文章之后,我们还学习了通过以下方式声明Array类对象:

array_name = Array.[](*args)
array_name = Array.new(size = 0, obj = nil)
array_name = Array.new(size){|index| block}

以上是我们在上一篇文章中使用它的方式。我们已经学习了三种方法,通过这三种方法我们可以在 Ruby 中声明一个 Array。在本文中,我们将看到如何使用 Array.new (size){ | index | block }方法声明 Array 对象。

方法说明:

此方法是公共类方法。较早的数组是通过将索引传递给它们来创建的。在这种方法的情况下,通过将元素的索引传递给提供的块来生成每个元素的值,并存储返回的值。

语法:

array_name = Array.new(size){|index| index#operation}

Parameter(s):

在这种方法中,参数起着非常重要的作用。此方法将大小作为参数。整个处理将在提供的块的帮助下完成。

范例1:

=begin
    Ruby program to demonstrate the 
    Array.new(size){} method
=end

# 数组声明
arr = Array.new(5){|index| index*2}

# 打印数组元素
puts "Array elements are..."
puts arr

输出结果

Array elements are...
0
2
4
6
8

说明:

借助以上代码,您可以轻松了解该方法的实现。借助此方法,我们正在创建一个名为“ arr”的Array实例。我们希望Array对象的大小为5,元素应为2的索引倍数。在输出中,您可以观察到Array元素为0、2、4、6和8。第一个元素为0,因为我们知道Array实例的索引始终从0开始。您也可以从用户那里输入尺寸。Array.new(size)

范例2:

=begin
    Ruby program to demonstrate 
    the Array.new(size){} method
=end

# 数组声明
arr = Array.new(5){|index|}

# 打印数组元素
puts "Array elements are..."
puts arr

输出结果

Array elements are...

说明:

您可以在上面的代码中观察到,当您指定要通过其传播数组的条件时,将为大小时间分配nil值。在此,向数组提供了五个nil值。