私はScalaのnomain.scalaを実行しますが、ScalaのArgsの解析
object HelloWorld {
def main(args: List[String]) {
println("Hello, " + args(0) + "!")
}
}
は私にエラーを与えるのに、なぜ
println("Hello, " + args(0) + "!")
作業を行います。
java.lang.NoSuchMethodException: Main.main([Ljava.lang.String;)
at java.lang.Class.getMethod(Class.java:1786)
at scala.reflect.internal.util.ScalaClassLoader.run(ScalaClassLoader.scala:94)
at scala.reflect.internal.util.ScalaClassLoader.run$(ScalaClassLoader.scala:90)
at scala.reflect.internal.util.ScalaClassLoader$URLClassLoader.run(ScalaClassLoader.scala:129)
at scala.tools.nsc.CommonRunner.run(ObjectRunner.scala:22)
at scala.tools.nsc.CommonRunner.run$(ObjectRunner.scala:21)
at scala.tools.nsc.ObjectRunner$.run(ObjectRunner.scala:39)
at scala.tools.nsc.CommonRunner.runAndCatch(ObjectRunner.scala:29)
at scala.tools.nsc.CommonRunner.runAndCatch$(ObjectRunner.scala:28)
at scala.tools.nsc.ObjectRunner$.runAndCatch(ObjectRunner.scala:39)
at scala.tools.nsc.ScriptRunner.runCompiled(ScriptRunner.scala:170)
at scala.tools.nsc.ScriptRunner.$anonfun$runScript$1(ScriptRunner.scala:187)
at scala.tools.nsc.ScriptRunner.$anonfun$runScript$1$adapted(ScriptRunner.scala:187)
at scala.tools.nsc.ScriptRunner.$anonfun$withCompiledScript$2(ScriptRunner.scala:156)
at scala.tools.nsc.ScriptRunner.runScript(ScriptRunner.scala:124)
at scala.tools.nsc.ScriptRunner.runScriptAndCatch(ScriptRunner.scala:200)
at scala.tools.nsc.MainGenericRunner.runTarget$1(MainGenericRunner.scala:63)
at scala.tools.nsc.MainGenericRunner.run$1(MainGenericRunner.scala:88)
at scala.tools.nsc.MainGenericRunner.process(MainGenericRunner.scala:99)
at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:104)
at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)
私はスカラ座helloworld.scalaを実行します
if (args.size > 0)
しかし、それはまた私にエラーを与える。私はここで間違って何をしているのだろうかと思います。私は、リストに何かがあるかどうか、どうやってargsを直接出力するかをチェックする方法が不思議です。
うん、私は逆方向にいくつかの手順を取り、これを実現しました。しかし、私のフォローアップは、argsの長さが1でプログラムを開始するかどうかを確認する方法です。 –
@SamBeanは 'scalac HelloWorld.scala'と' scala HelloWorld World'を実行します。 –
必要に応じて 'if(args.length> 0)'または 'if(args.size> 0)'を追加できます。 –