【发布时间】:2010-06-14 02:46:00
【问题描述】:
我对 scala 的语法有点不理解
object Board {
def getObjectAt(x:Int, y:Int):Placeable = return locations(x)(y)
}
工作正常。但是
object Board {
def getObjectAt(x:Int, y:Int):Placeable {
return locations(x)(y)
}
}
返回错误
Board.scala:8: error: illegal start of declaration
return locations(x)(y)
我发现一些东西说第二种形式说服了 scala 编译器你试图指定返回类型 Placeable 的扩展。有什么办法可以解决这个问题,还是应该避免在此处指定返回类型?
【问题讨论】:
-
顺便说一句,“return”关键字是多余的,可以省略。在没有显式返回语句的情况下,Scala 返回该方法计算的最后一个值。推荐的风格是避免显式方法(尤其是多次返回)。
标签: scala