将数组的元素作为参数传递给方法

时间:2013-07-11 02:08:22

标签: ruby methods arguments

class Test
  def initialize(*args)
    print "I got #{args.length} arguments!"
  end
end

arguments = ["Hello",100,30]

Test.new(arguments)

在那里,Test只接收一个参数(一个数组)。是否可以将数组的元素作为Test的参数传递?这样Test的构造函数就会识别出三个参数。

2 个答案:

答案 0 :(得分:4)

您想使用splat operator*

class Test
  def initialize(*args)
    print "I got #{args.length} arguments!"
  end
end

arguments = ["Hello",100,30]

Test.new(*arguments)

答案 1 :(得分:1)

Spla Spla:Test.new(*arguments)