2013-07-11 8 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) 
1

스 플랫을 : Test.new(*arguments)