SCALA类型不匹配错误列表作为争论,整数作为返回

时间:2018-08-18 06:52:12

标签: scala type-mismatch

我是SCALA的新手。我不明白为什么在给出返回类型Int时会出现此错误:

  

“类型不匹配找到所需的单位为整数”

我正在将列表作为参数传递给函数,根据我的理解,返回类型应为Int。但是,eclipse会引发错误。

注意:如果我删除Int作为返回值,则代码可以正常工作,但我不明白为什么这样做,因为函数体内的最后一条语句返回了Int

object ListFunctions {

  def main (args:Array[String]) {

    var listinp = List(1,2,3,4,5)
    var lastitem:Int = 0

    def ListFn (arg:List[Int]):Int = {  
      lastitem = arg.last 
    }

    ListFn(listinp)
  }
}

1 个答案:

答案 0 :(得分:1)

这篇StackOverflow文章可能有助于解释返回值是Unit而不是Int的原因。

What is the motivation for Scala assignment evaluating to Unit rather than the value assigned?

在您的情况下,简单的解决方案是返回“ arg.last”