2013-07-11 3 views
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

Вы хотите использовать splat operator, *.

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

arguments = ["Hello",100,30] 

Test.new(*arguments)