Я хочу, чтобы иметь возможность отслеживать количество заданий, выполненных на каком-то государственном компьютере (с использованием Akka FSM), это похоже на объединение N действий, начатых при переходе из состояния A в B, в состоянии B. Поэтому, когда все эвены достигают FSM в состоянии B, он переходит в состояние C.Scale case class и private constructor element
Я создал очень простой трекер для состояний fork/join.
sealed trait ForkJoin {
def join(): ForkJoin
}
case class Forks(forkNum: Int) extends ForkJoin {
private var finished: Int = 0
override def join = if (finished + 1 == forkNum) JoinComplete
else {
val f = Forks(forkNum)
f.finished = finished + 1
f
}
}
case object JoinComplete extends ForkJoin {
override def join = JoinComplete
}
Что мне не нравится там - pewsense из вара закончил. По своей природе это val, однако я понятия не имею, как сделать частный val и инициализировать его в join метод.
Я думал, что есть способ сделать аргумент конструктора как приватным, не доступным извне - но это не сработает.
, но это позволит мне создать экземпляр вилок с произвольным значением для «законченного», которого я хочу избежать. – jdevelop
Я изменил ответ соответственно, это лучше подходит? – tmbo