Ответ 1
Хорошо, после того, как мой коллега сказал мне, что он столкнулся с этим тайным заклинанием в Программирование в Scala, я сделал выполните поиск в моей копии и нашло это в разделе 8.8 Повторяющиеся параметры. (Хотя вам нужно искать пробел между двоеточием и подчеркиванием: -/) Существует одно предложение, которое объясняет это как:
... добавьте аргумент массива с двоеточием и символом
_*
, например:scala> echo(arr: _*)
Эта нотация указывает компилятору передать каждый элемент
arr
как свой собственный аргументecho
, а не все его как один аргумент.
Я нахожу здесь описание, предлагаемое здесь.
Итак, x: _*
похоже на объявление типа, которое сообщает компилятору рассматривать x
как повторяющийся параметр (также известный как список аргументов переменной длины vararg).