Se si utilizza App
tratto, quindi non è necessario eseguire l'override main
metodo - basta scrivere il codice nel corpo del 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)
}
Funziona perché App
tratto si estende DelayedInit tratto che ha procedura di inizializzazione molto speciale. Puoi anche accedere agli argomenti con args
, come mostrato nell'esempio.
Hai ancora bisogno di scrivere main
metodo se non si desidera estendere App
, ma in questo caso funzionerà come previsto:
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)
}
}