0

我看到这个spray Build.scala

lazy val sprayCaching = Project("spray-caching", file("spray-caching"))
    .dependsOn(sprayUtil)
    .settings(sprayModuleSettings: _*)
    .settings(libraryDependencies ++=
      provided(akkaActor) ++
      compile(clHashMap) ++
      test(specs2)
    )

做什么.settings(sprayModuleSettings: _*)?具体来说sprayModuleSettings: _*

4

1 回答 1

2

.settings 是一种采用可变参数列表的方法。sprayModuleSettings 是一个 Seq. : _* 是告诉编译器您要将 sprayModuleSettings 中的元素作为参数传递给该方法。

scala> val s = Seq(1,2,3,4)
scala> def test(args:Int*) { println(args.length) }
scala> test(s)
<console>:10: error: type mismatch;
 found   : Seq[Int]
 required: Int
              test(s)
               ^

scala> test(s:_*)
4
于 2013-07-11T05:17:42.097 回答