мне нужно создать актер, в зависимости от параметров командной строки:Создать/получить тип класса динамически
def main(args: Array[String]): Unit = {
val t = args(0) match {
// 1
case 1 => // MyActor1
case 2 => // MyActor2
case 3 => // MyActor3
}
// 2
val app = system actorOf (Props[/* ??? MyActor1(2,3).type? - not working*/], "app")
app ! "Start"
}
abstract class MyActorBase extends Actor {...}
class MyActor1 extends MyActorBase {...}
class MyActor2 extends MyActorBase {...}
class MyActor3 extends MyActorBase {...}
Так у меня есть 2 вопроса: что должно быть возвращено на match
и что я должен пройти, чтобы Props
?
В C# Я хотел бы использовать typeof
оператора, однако, следующий код не работает в Scala MyActor1.type
Исследуемый основной вопрос невозможно. 'Props [X]' - это то, что оценивается в _compile time_. Во время выполнения этого не существует (он был заменен результатом оценки), поэтому его невозможно выполнить динамически. –