Подтвердить что ты не робот

Значение знака _2 в scala языке

Что означает _2 в следующем коде? Где я могу найти официальную документацию для этого?

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

Ответ 1

._2 выбирает второй элемент в кортеже, например.

val t = (1,2)
t._2

поэтому @errors в вашем примере представляется списком кортежей. Вы можете найти документацию здесь для Tuple2, и есть классы Tuple3, Tuple4 и т.д. Для кортежей размером 3, 4 и т.д. scala документация пакетов показывает доступные типы Tuple, размер которых достигает 22.

Ответ 2

В этом случае, я считаю, _2 - это просто имя поля, представляющее второе поле объекта Tuple2.

Подчеркивание иногда немного более волшебное. Он используется в качестве подстановочного знака в операторах импорта в качестве не назначаемого заполнителя в назначениях, для которых требуется значение для синтаксиса, но на самом деле его не должно делать, и как переменная, которая должна быть там, но значение которой не имеет значения при сопоставлении с образцом.

Ответ 3

Кажется, что head возвращает Tuple2

Ответ 4

Для сопоставления шаблонов вы можете найти документацию об этом здесь

edit: Я считаю, что его основная цель - сопоставить что угодно, например, если вы импортируете http._, он будет импортировать все из этой библиотеки.