I have some code:
object Main extends App
{
val NameTemplate = \"\"\"^([A-Za-z]+)_(\\d+)\\.png\"\"\".r
override def main (args:Array[String])
{
If you are using App
trait, then you don't need to override main
method - just write your code in the body of the 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)
}
It works because App
trait extends DelayedInit trait which has very special initialization procedure. You can even access arguments with args
, as shown in the example.
You still need to write main
method if you don't want to extend App
, but in this case it will work as expected:
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)
}
}