代码之家  ›  专栏  ›  技术社区  ›  Palimondo

电梯站点地图(条目:_*)中冒号、下划线和星号的含义是什么?

  •  60
  • Palimondo  · 技术社区  · 17 年前

    我在学习 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:_*))
    

    我看到了价值 条目 是菜单列表。这是什么 冒号、下划线、星号

    1 回复  |  直到 17 年前
        1
  •  78
  •   Palimondo    8 年前

    好吧,在我的同事向我提到他在《圣经》中遇到了这个秘密咒语之后 Programming in Scala 第8.8节重复参数 (虽然你需要在冒号和下划线之间用空格搜索:-/)有一句话可以解释它:

    …在数组参数后附加冒号和 _* scala> echo(arr: _*)

    这个符号告诉编译器传递 arr 作为自己的论点 echo

    我发现 description offered here

    x: _* 喜欢 告诉编译器处理的类型声明 x 作为 重复参数 (又名可变长度参数列表 ).

    推荐文章