运行 scala 程序

Running scala program

我在使用 Scala 编写程序时遇到问题 运行。我对这门语言很陌生,无法在 intellij 中设置它,所以我现在使用 sublime 并尝试在终端中 运行 它。当我尝试 运行 微型项目 class 时,我不断收到 arrayindexoutofbounds 错误。

如果有人可以帮我弄清楚如何 运行 这个程序会很棒。

import scala.util.parsing.combinator._

abstract class MatchTree
case class S(e:MatchTree) extends MatchTree
case class E(c:MatchTree, e:MatchTree) extends MatchTree
case class C(s:String) extends MatchTree
case class NIL() extends MatchTree

class MPParser extends JavaTokenParsers{
def s: Parser[MatchTree] = e ^^ {case se => S(se)}
def e: Parser[MatchTree] = c ~ e ^^ {case ch ~ ex => E(ch,ex)} | c ^^ {case 
ch => E(ch,NIL())}
def c[C] = ("a" | "b") ^^ {case ch => C(ch)}
}

object Microproject extends MPParser{
def main(args: Array[String]) {
println("input : "+ args(0))
println(parseAll(s, args(0)))
}
}

看起来该程序需要您向其传递一个参数。您可以这样做(在命令行上):

scala myFile.scala "Some argument"

这应该是你在这方面的线索:

println("input : "+ args(0))

如您所见,此行打印出程序的第一个参数 (args(0))。下一次,您可以查看堆栈跟踪以查看错误发生在哪一行,看看您是否可以弄清楚那里发生了什么。此外,在未来,与从互联网上相比,您可能更有可能从教授那里获得 运行 教授课程的帮助。这次你走运了...

此外,我不知道程序需要什么参数。你得问你的教授。