我是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)
}
}
答案 0 :(得分:1)
这篇StackOverflow文章可能有助于解释返回值是Unit而不是Int的原因。
What is the motivation for Scala assignment evaluating to Unit rather than the value assigned?
在您的情况下,简单的解决方案是返回“ arg.last”