How is the type parameter of [K] on groupBy typed ?
От типа функции передается groupBy
, если они не переданы явно ,
What is the significance of [k] in this context : groupBy[K] .
Это параметр типа: тип, который не фиксируется на месте четкости groupBy
, но, вместо этого, различно и зависит от контекста, в каждом месте использования этого метода.
Why is the type parameter required here, is this a requirement of Scala that cannot use instead : `def groupBy(f : (A) => K) : Map[K, This]` ?
Это требование. В определении, которое вы предоставляете, функция, переданная в groupBy
, должна быть от A
(параметр типа класса) до K
, фиксированного типа, известного в определении groupBy
. Поскольку в Scala нет типа K
, это автоматически приведет к ошибке.
Или, иначе говоря, это будет как определение groupBy
как def groupBy(f: (A) => String): Map[String, This]
.
"должен быть от A (параметр типа класса)", вы говорите, что тип A является типом класса, в котором содержится метод groupBy? –
@Adrian Я бы не сказал этого так, но если я понимаю, что вы говорите правильно, да. 'A' - это параметр типа конкретного экземпляра класса, в котором находится' groupBy'. Итак, если это 'List [String]', то 'A' является' String'. –