无法在Scala中为try内部值赋值

时间:2018-04-17 13:13:17

标签: scala try-catch var

在我的计划中,我有:

val f = Source.fromURL(url)
var lineList
try lineList = f.getLines.toList finally f.close()

我收到编译错误:

  

错误:(13,1)' ='预期但是&#39 ;;'找到。       最后尝试lineList = f.getLines.toList f.close()

我犯了什么错误?事实上我正在做错误信息要求我做的事。

2 个答案:

答案 0 :(得分:1)

由于您没有为lineList分配内容,因此需要一个类型定义,因为编译器无法推断出类型。

var lineList: List[String]

如果您没有宣布抽象类,则需要为其指定一些内容,例如:使用通配符运算符_

var lineList: List[String] = _

答案 1 :(得分:0)

在scala中,您不能像java一样命名变量。变量需要初始化。

如果要在没有初始化的情况下创建变量,则需要指定类型:

var a = _(没有 工作)

var a: Int = _(有效)

http://allaboutscala.com/tutorials/chapter-2-learning-basics-scala-programming/scala-basic-tutorial-declare-variables-types/

有一个很好的解释