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

arguments = ["Hello",100,30]

Test.new(arguments)

在那里,Test只接收一个参数(一个数组)。是否可以将数组的元素作为参数传递Test?因此,它Test的构造函数标识了三个参数。

4

2 回答 2

4

您想使用splat 运算符, *

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

arguments = ["Hello",100,30]

Test.new(*arguments)
于 2013-07-11T02:12:04.650 回答
1

喷他们:Test.new(*arguments)

于 2013-07-11T02:12:09.460 回答