在Ruby中使用Array.new(size,obj)创建数组

我们已经学习了如何在Array.[](*args)方法的帮助下声明数组类实例。您还可以注意到,在为演示所有这些方法而编写的程序代码中,使用传统方法声明了数组实例,例如,

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

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

array_name = Array.[](*args)

以上是我们在上一篇文章中使用它的方式。在接下来的文章中,您将学习声明数组实例的不同方法。好吧,在本文中,我们将看到如何借助方法来声明Array对象?Array.new(size, obj)

方法说明:

此方法是公共类方法。此方法接受两个参数,第一个是要创建的对象的大小,第二个是要存储在Array中的元素。它将复制元素并创建该元素的大小副本,并将其存储在Array对象中。如果要多次存储同一元素,则应使用此方法。

语法:

    array_name = Array.new(size = 0, obj = nil)

Parameter(s):

在这种方法中,参数起着非常重要的作用。此方法将带有两个参数,第一个是尺寸,第二个是元素。如果不提供任何参数,它将导致一个空数组,其中没有任何元素。

范例1:

=begin
    Ruby program to demonstrate Array.new(size,obj)
=end

# 数组声明
arr = Array.new(size = 5, obj = "Hrithik")

# 打印数组元素
puts "Elements of \'arr\' are:"
puts arr

# 创建一个空数组 
arr1 = Array.new()
puts "Number of elements present in \'arr1\' are: #{arr1.count}"

输出结果

Elements of 'arr' are:
Hrithik
Hrithik
Hrithik
Hrithik
Hrithik
Number of elements present in 'arr1' are: 0

说明:

借助以上代码,您可以轻松了解该方法的实现。此方法为大小时间创建相同元素的副本。您还可以观察到,如果我们没有为该方法提供参数,则Array会生成一个空Array,并且借助Array.count method可以证明这一点。Array.new(size, obj)

范例2:

=begin
    Ruby program to demonstrate Array.new(size, obj)
=end

# 输入元素
puts "Enter the element you want to keep in the Array instance"
ele1 = gets.chomp

# 输入数组大小
puts "Enter the size of Array"
siz = gets.chomp.to_i

# 创建数组
arr = Array.new(size = siz, obj = ele1)

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

输出结果

RUN 1:
Enter the element you want to keep in the Array instance
NHOOO
Enter the size of Array
5
Array elements are:
NHOOO
NHOOO
NHOOO
NHOOO
NHOOO

RUN 2:
Enter the element you want to keep in the Array instance
100
Enter the size of Array
3
Array elements are:
100
100
100

说明:

在上面的代码中,您可以观察到我们从用户那里获取了两个输入,第一个是Array的大小,第二个是我们要存储在其中的元素。从输出中可以看到,我们的Array实例包含该元素的大小编号。