gpt4 book ai didi

scala - 无法从 REPL 运行 .scala 文件?

转载 作者:行者123 更新时间:2023-12-04 05:50:21 24 4
gpt4 key购买 nike

我是 Scala 的新手。

我想运行写在我的文件 while.scala 中的函数:

def whileLoop {
var i = 1
while(i <= 3) {
println(i)
i += 1
}
}
whileLoop

这是它对 REPL 的看法:

scala> scala /home/nazar/Downloads/while.scala
<console>:1: error: illegal start of simple expression

如果我直接从书上理解。我需要指定 .scala 文件位置并运行:

scala /path/to/file.scala

为什么会失败?

这是书中的片段:

You can run the code like this:
batate$ scala code/scala/while.scala
1
2
3

更新:

我尝试了选项 :load 它有效,但是当我想运行另一个文件时 for_loop.scala:

def forLoop {
println( "for loop using Java-style iteration" )
for(i <- 0 until args.length) {
println(args(i))
}
}
forLoop

它失败了:

scala> :load /home/nazar/Downloads/for_loop.scala
Loading /home/nazar/Downloads/for_loop.scala...
<console>:9: error: not found: value args
for(i <- 0 until args.length) {
^
<console>:8: error: not found: value forLoop
forLoop
^

scala> :load /home/nazar/Downloads/for_loop.scala hello scala
That file does not exist

如何解决这个麻烦?

最佳答案

你这样做,从 shell/命令行,而不是从 REPL 中(% 是名义上的 shell 提示符):

% scala MyScalaScriptName.scala

你这样做了:

% scala
scala> scala while.scala
<console>:1: error: illegal start of simple expression

Scala REPL 中唯一已知的是 Scala 代码本身和一些内置的特殊命令。然而,其中一个会做你想做的事:

% cd
% scala
scala> :load Downloads/while.scala
Loading Downloads/while.scala
1
2
3

关于scala - 无法从 REPL 运行 .scala 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23015402/

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