linux下scala脚本运行报错error: expected class or object definition 解决方案

我在看《scala编程》这本书时,对于scala脚本的编写和运行搞不明白,后来才看通,现在将一点体会记载如下:

1.scala脚本保存在目录~下名为print.scala的文本中,其源代码如下:

import scala.io.Source
object test
{
  def main(args: Array[String]): Unit = {
      for (line <- Source.fromFile(args(0)).getLines)
        println(line.length + " " + line)
  }
}

2.使用scalac命令进行编译:
[user@nn1 ~]$ scalac print.scala

3.使用scala命令进行运行:
user@nn1 ~]$ scala test /home/user/print.scala

4.输出结果如下:

22 import scala.io.Source
11 object test
1 {
41   def main(args: Array[String]): Unit = {
53       for (line <- Source.fromFile(args(0)).getLines)
41         println(line.length + " " + line)
3   }
1 }


其中test为脚本中独立对象的名称,/home/user/print.scala为传入main函数中的参数,即脚本中对应的args(0)。

scala可以直接运行test是因为scalac时已经将test对象加载。

注意:print.scala文件并不是scala脚本文件,所以要运行其中的脚本必须先用scalac命令进行编译。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值