2012-04-16 5 views
6

Làm thế nào để mã này ngay trong Scala?Vượt qua các đối số có độ dài thay đổi cho một hàm khác mong đợi giống nhau?

def myFun(strings: String*) = { 
    // do something... 
} 

def myWraper(strings: String*) = { 
    // do something else and then call myFun with the dame input 
    myFun(strings) 
} 

Tôi đã thử đặt một dấu hoa thị như

def myWraper(strings: String*) = { 
    // do something else and then call myFun with the dame input 
    myFun(strings*) 
} 

Nhưng điều này dường như không làm việc ...

Trả lời

10

Hãy thử điều này:

myFun(strings: _*) 

Bạn cần phải yêu cầu chia tách strings lên trên các vararg.

+1

Cảm ơn. Đó là những gì tôi đang tìm kiếm. Tôi chỉ không thể nhớ nó được viết như thế nào. Tôi cũng đã thử dấu gạch dưới, nhưng đó là tất cả 3 ký hiệu sau :-) – Ivan