1
  def main(args: Array[String]) {
      foo("hello")
  }

  def foo(args:Any*){
    bar(args)
  }

  def bar(args:Any *){
    println(args)
  }

上記のコードを見てください。出力は WrappedArray(WrappedArray(hello)) です。

文字列 'hello' が 2 回ラップされています。これを回避する方法

4

1 に答える 1

5

の呼び出しでbar、次のように記述します。

bar(args: _*)

これは、コンパイラに、の引数を使用するように指示します。これは、argsこの時点では、に非常によく似ており、受け入れる最初の繰り返しパラメータと見なすのではなく、Seq[T]それぞれを個別にに渡します。barargsbar

于 2012-09-16T09:01:09.053 に答える