gpt4 book ai didi

scala - Scala 脚本可以引用同一目录中其他未编译的 scala 代码吗?

转载 作者:行者123 更新时间:2023-12-02 14:29:33 25 4
gpt4 key购买 nike

如果我在同一目录中有两个单独的未编译的 scala 文件:

// hello.scala
object hello {
def world() = println("hello world")
}

和:

// do.scala
hello.world()

运行 do.scala 时出现错误:

$ scala do.scala
error: not found: value hello

相反,我必须先编译 hello.scala 文件并将其放在类路径中才能使其正常工作:

$ scalac hello.scala
$ scala -cp hello do.scala
hello world

有没有一种方法可以让一个脚本使用正确的导入、包、类路径、scala 命令行工具或其他工具来调用另一个未编译的 scala 文件?

最佳答案

也许不完全是您正在寻找的东西,但是从 Scala REPL shell 中您可以做到

:load hello.scala
:load do.scala

达到相同的结果:

$ scala
Welcome to Scala version 2.9.1 (Java HotSpot(TM) Server VM, Java 1.6.0_26).
Type in expressions to have them evaluated.
Type :help for more information.

scala> :load hello.scala
Loading hello.scala...
defined module hello

scala> :load do.scala
Loading do.scala...
hello world

scala>

如果您想要一些非交互式的脚本编写

$ cat <<EOF | scala
:load hello.scala
:load do.scala
EOF

也有效。

使用 :help 来了解 REPL shell 可以做的更多有趣的事情。

关于scala - Scala 脚本可以引用同一目录中其他未编译的 scala 代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10010779/

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