Scala解释器有哪些限制和解决方法?

Łuk*_*Lew 4 scala scala-2.8

什么样的构造需要'scalac'编译以及如何创建一个可以在解释器中工作的等价物?

编辑:我想使用scala而不是python作为脚本语言.(使用#!/ usr/bin/scala)

Rex*_*err 6

您应该能够在REPL中执行任何可以在外部代码中执行的操作.请记住:

  • 循环引用的东西需要在一个区块内.所以以下内容不能按原样输入; 你必须把它包装在其他对象中:

    class C(i : Int) { def succ = C(i+1) }
    object C { def apply(i: Int) = new C(i) }

  • 执行环境有些不同,因此基准测试时序并不总是与从编译代码运行它们的方式相同.

  • 您以不同的方式输入执行路径; 但是,如果你想调用一个main方法,你当然可以从REPL内部调用.

  • 您不仅可以将整个库剪切并粘贴到REPL中,并使其完全像库一样工作; REPL具有与普通包不同的结构.因此在测试期间删除"包"声明.