为什么我能';不执行scala文件?
我是Scala的新手,这是我第一次运行Scala,当我安装Scala时,我创建了一个名为为什么我能';不执行scala文件?,scala,Scala,我是Scala的新手,这是我第一次运行Scala,当我安装Scala时,我创建了一个名为Hello.Scala的文件,内容是: println("HelloWorld!") 当我键入scala时,没有问题,显示了scala REPL,但当我键入scala Hello.scala时,它提示: <console>:1: error: ';' expected but '.' is found. :1:错误:';'应为,但找到“.”。 我不知道是什么问题,希望有人能帮我。你的文件你好
Hello.Scala
的文件,内容是:
println("HelloWorld!")
当我键入scala
时,没有问题,显示了scala REPL,但当我键入scala Hello.scala
时,它提示:
<console>:1: error: ';' expected but '.' is found.
:1:错误:';'应为,但找到“.”。
我不知道是什么问题,希望有人能帮我。你的文件
你好。scala
是一个脚本。您应该能够使用scala Hello.scala
从命令提示符运行它
$ scala Hello.scala
HelloWorld!
另一方面,REPL不用于运行脚本。它用于直接运行scala代码:
scala> println("HelloWorld!")
"HelloWorld!"
要在REPL中执行外部脚本(从中加载所有定义),请使用
:load
命令而不是scala
»echo'println(“HelloWorld”)>Hello.scala
»斯卡拉
欢迎使用Scala版本2.9.2(OpenJDK客户端虚拟机,Java 1.6.0_24)。
键入要计算的表达式。
键入:有关详细信息的帮助。
//这就是你想做的吗?
scala>scala Hello.scala
:1:错误:';'应为“”,但找到“”。
你好,斯卡拉
//改为这样做
scala>:加载Hello.scala
加载你好,scala。。。
你好世界
斯卡拉>
只是我所知的一个总结。我曾经对如何正确运行scala文件感到困惑
总之,我们有三种方法来实现这一点:
:paste
模式粘贴多行。比如:
println(“foo”)
scalac
编译包含main方法的对象。您可以扩展
应用特性以轻松实现
def main(参数:数组[字符串]):单位
scala-howtorun:objectobjectname-cp./“
:-cp
仅用于保险java-cp”/path/to/your/scala-jars“ObjectName
:所以区别只是需要包括类路径如果您使用的是某种风格的Unix,那么可以将Scala脚本作为shell脚本运行 通过在文件顶部预加一个磅-砰指令 例如,在名为
helloarg
的文件中键入以下内容:
#!/bin/sh
exec scala "$0" "$@"
!#
// Say hello to the first argument
println("Hello, "+ args(0) +"!")
首字母#/bin/sh
必须是文件的第一行。设置其执行权限后:
$ chmod +x helloarg
您可以将Scala脚本作为shell脚本运行,只需说:
$ ./helloarg globe
如果您在Windows上,则可以通过命名
文件helloarg.bat
并将其放在脚本顶部:
::#!
@echo off
call scala % 0 % *
goto :eof
::!#
- 添加
标志保存了我的一天-nc
scala-nc Hello.scala
- 什么是
-nc
资料来源:-nc无编译守护程序:不要使用fsc脱机编译器
- 什么是fsc脱机编译器
资料来源:fsc–Scala 2语言的快速离线编译器
#!/usr/bin/env scala -nc
println("hello");
如果您是在scala REPL中执行它,您应该使用如下
:load [scala file path]
输出如下所示
定义的“对象名”
然后调用main方法作为下一个命令
objectname.main(Array())
有关详细信息,请参阅下面的url
在主函数中写入
println
语句:
object HelloWorld {
def main(args: Array[String]) {
println("Hello World!")
}
}
然后执行:
scala-nc HelloWorld.scala
当您尝试运行scala时,请执行以下步骤:
scala
scala/home/prakash/Desktop/babyname.scala
注意:上述命令必须在unix cmd提示符中键入,而不是在scala repl中键入 如何从sbt运行scala脚本?
object HelloWorld {
def main(args: Array[String]) {
println("Hello World!")
}
}