【问题标题】:Does Scala having an interpreter give Scala projects the option to execute them either compiled or interpreted? [duplicate]Scala 是否有解释器让 Scala 项目可以选择编译或解释执行它们? [复制]
【发布时间】:2013-10-06 18:41:35
【问题描述】:

我知道 scala 有一个解释器并且 scala 是静态类型的。所以我想知道是否可以以 Java 和 PHP 风格执行 scala 项目?

【问题讨论】:

  • “PHP 风格”是什么意思? Scala 没有真正的解释器——尽管你可以将命令输入到 read-eval-print-loop (REPL),它会立即编译它们。

标签: scala


【解决方案1】:

也许您只需要一个解释器来测试您的代码?然后输入scala获取解释器并使用:load命令加载scala文件。

我不知道 PHP 风格到底是什么,但是是的,你可以交互地执行 scala,静态类型在这里不是什么大问题。如果您需要执行简单的脚本(代码来自“Scala 入门”):

  #!/bin/sh
  exec scala "$0" "$@"
  !#
  object HelloWorld {
    def main(args: Array[String]) {
      println("Hello, world! " + args.toList)
    }
  }
  HelloWorld.main(args)

如果你的脚本中有 .jar 依赖项,事情就会变得更复杂,因为你需要将这个 jar 依赖项传递给 scala 解释器。 here is example 截至目前,此方法不允许您将脚本模块化到多个文件中,但这里是 workaround

如果你有 sbt 项目,你可以从 sbt shell 中输入 console 来获得一个具有正确类路径和依赖关系的 scala 解释器。 sbt 本身也有一个“脚本”模式,它的工作原理很像 groovy 的嵌入式依赖项。

scala 编译器也是可嵌入的)This 项目有助于动态编译/重新编译 scala 文件并将它们加载到 jvm 中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 2011-03-23
    • 2017-02-26
    • 1970-01-01
    • 2011-08-24
    • 1970-01-01
    相关资源
    最近更新 更多