_2的含义在scala语言中签名

时间:2011-06-19 19:44:41

标签: scala

_2在以下代码中的含义是什么?我在哪里可以找到这方面的官方文档?

.. 
@if(errors) {
    <p class="error">
        @errors.head._2
    </p>
}
...

4 个答案:

答案 0 :(得分:22)

._2选择元组中的第二个元素,例如

val t = (1,2)
t._2

所以样本中的@errors似乎是一个元组列表。 您可以找到Tuple2的文档here,还有Tuple3,Tuple4等类,用于大小为3,4的元组等。scala package documentation显示可用的Tuple类型,大小达到22。 / p>

答案 1 :(得分:4)

在这个例子中,我相信_2只是一个字段名称,代表Tuple2对象的第二个字段。

然而,下划线有时更神奇。它在import语句中用作通配符,作为需要语法值但不应该实际执行任务的赋值中的非赋值占位符,以及应该存在但其值在模式匹配中无关紧要的变量。

答案 2 :(得分:1)

似乎head返回Tuple2

答案 3 :(得分:-4)

用于模式匹配,您可以找到有关它的文档here

编辑:我认为它的主要目的是匹配任何内容,例如,如果你“导入http._”,它将导入该库中的所有内容。