Ты уверен, что можешь.Как и любой другой метод, main может вызываться между объектами.
object foo {
def main(args: Array[String]): Unit = {
println("qux")
}
}
object bar {
def main(args: Array[String]): Unit = {
println("baz")
foo.main(null)
}
}
Запуск main
в bar
дает следующий вывод:
baz
qux
То же самое можно реплицироватьдля основных методов с аргументами, как в следующем примере:
object foo {
def main(args: Array[String]): Unit = {
println(args(0) + " " + args(1))
}
}
object bar {
def main(args: Array[String]): Unit = {
... some processing ...
foo.main(Array["Hello", "World"])
}
}
Запуск main
в bar
дает следующий вывод:
Hello World
Независимо от того, приводит ли это к очисткеи читаемый код это другой вопрос :)