2011-06-19 13 views
13

次のコードで_2の意味は何ですか?これについての公式文書はどこにありますか?スカラー言語の_2記号の意味

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

答えて

-4

それはあなたがそれがhere

編集についてのドキュメントを見つけることができ、パターンマッチングのためです:私は、その主な目的は、あなたがしなければ「輸入http._」それはすべてをインポートします例えば、何かを一致させることであると信じてそのライブラリから。

+0

を返しますが、この場合のように、また、変数名で正当な文字であると思われます。 –

20

._2は、タプルの2番目の要素を選択します。

val t = (1,2) 
t._2 

サンプル内の@errorsはタプルのリストのようです。 あなたがTuple2のドキュメントhereを見つけることができる、とTuple3がある、などscala package documentationサイズ3、4のタプルのためTuple4などのクラスは、この例ではサイズ22

4

に上がる可能なタプル型を示し、私は_2がフィールド名であり、Tuple2オブジェクトの2番目のフィールドを表していると信じています。

ただし、アンダースコアは少し魔法的です。シンタックスの値を必要とするが、実際には何もしてはいけない、そしてそこにあるべきだがその値はパターンマッチングで重要ではない変数として、割り当てステートメントのワイルドカードとして使用されます。

+0

+1これは単なるフィールド(またはメソッド)の名前です。 –

1

headそれはこのために使用されるTuple2

関連する問題