Si está utilizando App
rasgo, entonces no es necesario para anular main
método - acaba de escribir el código en el cuerpo de la 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)
}
Funciona porque App
rasgo se extiende DelayedInit rasgo que tiene procedimiento de inicialización muy especial. Incluso puede acceder a argumentos con args
, como se muestra en el ejemplo.
Todavía es necesario escribir main
método si no desea extender App
, pero en este caso se ponga a funcionar como se esperaba:
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)
}
}