Это упрощенные примеры того, как эти методы вызываются. Обычно эти методы (++
, map
, flatMap
и т. Д.) Содержат неявный параметр, чаще всего аргумент, называемый фабрикой построителя, который (проще говоря) абстрагирует создание результирующих коллекций.
В большинстве случаев клиент коллекции не указывает эти неявные параметры, поэтому ScalaDoc позволяет определить упрощенное описание метода - сценарий использования . Это позволяет пользователям быстро понять идею, лежащую в основе рассматриваемого метода, и не беспокоиться о том, что, например, CanBuildFrom
означает и как оно используется.
Например, это полное объявление ++
:
def ++[B >: A, That](that: TraversableOnce[B])(implicit bf: CanBuildFrom[Repr, B, That]): That
В большинстве случаев тип целевой коллекции совпадает с получателем вызова, поэтому вызов выглядит примерно так, как если бы объявление было следующим (при условии, что ++
определено, скажем, List
) :
def ++(that: TraversableOnce[A]): List[A]
Выше неявное разрешение разрешается во время компиляции, и выводятся параметры типа. В большинстве случаев это должно быть представление клиента о методе.
И если вы хотите аннотировать свой собственный метод с помощью вариантов использования, используйте тег @usecase
в комментариях к документу:
/** ...
* ...
* @usecase def ++(that: TraversableOnce[A]): List[A]
*/