Защищенные функции в Scala

Как сделать защищенную функцию в классе доступной только для всех классов в пакете в Scala?

Ответы

Ответ 1

Вы можете сделать

protected[packagename] def foo() {...}

Ответ 2

Если мы обратим внимание на различие между функцией и методом, мы можем определить объект, происходящий из Function:

protected[packagename] object fn extends (Int=>Int) {
  def apply(n: Int) = 2*n 
}