通常,在Scala中,返回关键字在返回值时不需要,最后一个值总是返回值。但是,为什么当将和分配给另一个val时,它将不被视为一个返回值?例如: val sum = a + b将显示类型不匹配错误(预期的Int,got Unit)。编辑:正如我从注释和答案中了解到的那样,Scala不是返回值,而是返回值。但是,val赋值返回的是Unit,而不是指定的类型。原因是:
我有一个编译问题,期望的类型有时是{},有时是游戏,这取决于我如何更改函数stepGame的注释。运行这个会给我: Actual Type: Main.GamestepGame : Input -> Game -> Game stepGame : Input -> Game -> IntExpected返回值</em