我在学习 Scala 和 lift 与此同时,我在理解用于将 SiteMap 在Boot.scala中:
val entries = Menu(Loc("Home", "/", "Home")) :: Menu(Loc("Foo", "/badger", "Foo")) :: Menu(Loc("Directory Foo", "/something/foo", "Directory Foo")) :: Nil LiftRules.setSiteMap(SiteMap(entries:_*))
我看到了价值 条目 是菜单列表。这是什么 冒号、下划线、星号
好吧,在我的同事向我提到他在《圣经》中遇到了这个秘密咒语之后 Programming in Scala 第8.8节重复参数 (虽然你需要在冒号和下划线之间用空格搜索:-/)有一句话可以解释它:
…在数组参数后附加冒号和 _* scala> echo(arr: _*) 这个符号告诉编译器传递 arr 作为自己的论点 echo
…在数组参数后附加冒号和 _* scala> echo(arr: _*)
_*
scala> echo(arr: _*)
这个符号告诉编译器传递 arr 作为自己的论点 echo
arr
echo
我发现 description offered here
x: _* 是 喜欢 告诉编译器处理的类型声明 x 作为 重复参数 (又名可变长度参数列表 ).
x: _*
x