Если вы используете черту App
, вам не нужно переопределять метод main
- просто напишите свой код в теле object
:
object Main extends App {
val NameTemplate = """^([A-Za-z]+)_(\d+)\.png""".r
println(NameTemplate)
val NameTemplate(name, version) = args(0)
println(name + " v" + version)
}
Это работает, потому чтоApp
черта расширяет DelayedInit черта, которая имеет очень специальную процедуру инициализации.Вы можете даже получить доступ к аргументам с помощью args
, как показано в примере.
Вам все еще нужно написать метод main
, если вы не хотите расширять App
, но в этом случае он будет работатькак и ожидалось:
object Main {
val NameTemplate = """^([A-Za-z]+)_(\d+)\.png""".r
def main(args: Array[String]) {
println(NameTemplate)
val NameTemplate(name, version) = args(0)
println(name + " v" + version)
}
}