加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 09:10:05 所属栏目:安全 来源:网络整理
导读:如果我有两个单独的未编译的 scala文件在同一目录中: // hello.scalaobject hello { def world() = println("hello world")} 和: // do.scalahello.world() 运行do.scala时会收到错误: $scala do.scalaerror: not found: value hello 相反,我必须首先编译
如果我有两个单独的未编译的 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

有没有办法让一个脚本使用正确的使用import,package,classpath,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

工作也.

使用:帮助更多有趣的东西REPL shell可以做.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读