gpt4 book ai didi

scala - 学习 Scala 作为第一个 VM/编译语言 - 工作流挑战

转载 作者:行者123 更新时间:2023-12-04 13:17:43 24 4
gpt4 key购买 nike

我来自 PHP/Python/Javascript 背景,最近对 Scala 非常感兴趣——特别是从网络角度来看的 Akka。

尽管与一般工作流程相比,与我描述的解释语言相比,我遇到了非常困难的问题。

一般来说,我倾向于编码、测试结果、编码和重复。即使更改 20 行类中的单行也需要长达 30 秒的时间来编译和运行,这会停止。这真的很正常吗?我是否需要构建、构建、构建然后在 30 分钟或一个小时后返回并编译/测试?

(我将 IDEA 与 SBT 一起使用)除了链接到 repos 之外,我是否需要专门学习如何使用 Maven?

想法?建议?

最佳答案

我认为您在 Idea 和 SBT 方面走在正确的轨道上。你有没有尝试过

~compile

这将自动检测对您的源的更改。对于 Web 应用程序,您可以执行
jetty-run

其次是
~prepare-webapp

不断编译和重新部署您的应用程序到码头。让 Scala 开发人员感觉很像 Python Web 开发。

通常我发现 SBT 在编译时非常快,尤其是您正在谈论的大小文件。当我保存更改并转到我的 SBT 提示时,它就完成了。

另一个方便的 SBT 方面是 REPL,它将加载您的项目及其依赖项:
console

您可以重新加载任何已编译的更改
:replay

在 scala REPL 中。

编辑:
我想我应该提一下,您可以使用带有 main 方法的简单类。如果您创建一个名为 src/main/scala/Foo.scala 的文件,如下所示:
object Foo {
def main(args: Array[String]) {
println("Hello World")
}
}

还有一个像这样的文件 project/build/Build.scala:
import sbt._
class Build(info: ProjectInfo) extends DefaultProject(info) {
override def mainClass = Some("Foo")
}

然后在 sbt 提示符下,你可以做
~run

不断编译和运行 Foo.main 方法。您可能需要先在 sbt 中“重新加载”。从保存更改到看到输出似乎需要 2-3 秒。然后您只需编辑、保存并查看更改。这是一个非常好的工作流程。

另外,不要忘记 REPL - 绝对是学习 Scala 的重要工具。您可以通过交互方式学习大量内容。

关于scala - 学习 Scala 作为第一个 VM/编译语言 - 工作流挑战,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4661172/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com