2014-11-04 2 views
6

Jestem obecnie tworząc z scalatest.org kilka testów jednostkowych dla mojej aplikacji:przekazywać argumenty do obiektu App w Scala

scala> object Test extends App { 
    | println(args) 
    | } 

Jak mogę przekazać parametry do tego obiektu? Próbowałem nadrzędne wartości args ale po kilku badań odkryłem, że nie jest możliwe:

/** The command line arguments passed to the application's `main` method. 
    */ 
    @deprecatedOverriding("args should not be overridden", "2.11.0") 
    protected def args: Array[String] = _args 

    private var _args: Array[String] = _ 

Jak mogę przejść do podkreślenia _ parametrów niestandardowych w kodzie?

Cheers

+0

Wygląda na to, że dla mnie, jako punktu wejścia do wprowadzania nowych danych, mam wrażenie, że jest to dla mnie kod. Dlaczego nie uruchomić tego z wiersza poleceń? –

Odpowiedz

11

myślę chcesz wywołać metodę main(args: Array[String]) odziedziczoną App.

scala> object Test extends App { args.foreach(println) } 
defined object Test 

scala> Test.main(Array("A1")) 
A1 

scala> Test.main(Array("A1", "A2")) 
A1 
A2 
+0

'val test = Test; test.main (Array ("test")) "bardzo dobrze, że pracował dla mnie, dzięki! – zio