Scala App val initialization in main method

后端 未结 2 896
说谎
说谎 2021-02-07 04:23

I have some code:

object Main extends App
{
    val NameTemplate = \"\"\"^([A-Za-z]+)_(\\d+)\\.png\"\"\".r

    override def main (args:Array[String])
    {
             


        
2条回答
  •  不要未来只要你来
    2021-02-07 04:36

    The DelayedInit trait (which App extends) causes rewriting of intialisation code to execute within a special delayedInit() method. This would then normally be invoked by main. Since you are overriding main, however, the delayedInit() code is never being invoked, and as such your value is not being initialised.

    As @tenshi explains, you can get around this either by not extending App or by moving your main code into the body of your Main object.

提交回复
热议问题