2012-09-01 42 views
7

可変長引数リストのデフォルト引数を設定することはできますか?デフォルトの引数を持つ可変長引数リスト?

例:argsのデフォルト引数を設定する方法

def foo(args: String*) = args.foreach(println) 

error: a parameter section with a `*'-parameter is not allowed to have default arguments

をしかし、あなたはメソッドのオーバーロードと同じ結果を得ることができます:あなたがしようとした場合

答えて

12

号、コンパイラはあなたを教えてくれますあなたは引数を与えたときに

class A { 
    def foo(args: String*): Unit = args.foreach(println) 
    def foo(): Unit = foo("A", "B", "C") 
} 

はここにあります:

scala> (new A).foo("A", "B") 
A 
B 

「デフォルト」は次のとおりです。

scala> (new A).foo() 
A 
B 
C 
+0

素晴らしいソリューションです、ありがとうございます! –

関連する問題