2013-07-11 71 views
0

我看到這個spray Build.scala斯卡拉構建設置(foobar的:_ *)

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

是什麼.settings(sprayModuleSettings: _*)辦?具體sprayModuleSettings: _*

+1

如果你想知道':_ *'是什麼意思,你應該使用[symbolhound.com](http://symbolhound.com/?q=scala+_*)。它允許你搜索這樣的符號。 – senia

回答

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