Я пытаюсь установить значение по умолчанию (х) => х для keyFunction параметра в следующей функции:как установить значения по умолчанию для параметров функции в Скале
def count[A, B](list: List[A], keyFunction: (A) => B, isRatio : Boolean = false): Map[B, Double] = {
lazy val number = list.size.toDouble
list.groupBy(keyFunction).map{
case (key, group) => if (isRatio) (key, group.size/number) else (key, group.size.toDouble)
}
}
Я знаю, что немое решение просто для определения другой функции:
def simplyCount[A] (list: List[A], isRatio: Boolean = false): Map[A, Double] = count(list, (e: A) => e, isRatio)
Как я могу сделать это лучше? Заранее спасибо.
А, понял. Он должен быть двумя отдельными списками параметров для того, чтобы вывод типа мог устранить, что означает 'A' в' A => A', только из 'List [A]'. Обновлено. – dhg
Отлично! Оба точно работают. Спасибо за ваши хорошие решения и усилия. –