0

我不确定如何return在匿名函数中使用关键字(或者我应该以不同的方式解决我的问题?)。

现在的方式,return实际上是指封闭函数。

()=>{
  if (someMethodThatReturnsBoolean()) return true
  // otherwise do stuff here
}:Boolean
4

2 回答 2

5

为什么不 ?

() =>
  someMethodThatReturnsBoolean() || {
    //do stuff here that eventually returns a boolean
  }

或者,如果您不喜欢使用操作符产生副作用,||您可以在以下情况下使用 plain:

() =>
  if (someMethodThatReturnsBoolean())
    true
  else {
    //do something here that returns boolean eventually
  }

if只是 Scala 中的一个表达式,您应该以类似表达式的方式组织代码并return尽可能避免。

于 2013-04-15T17:10:22.620 回答
4

现在的方式,返回实际上是指封闭函数。

这就是它应该的样子。您不能return用于从匿名函数返回。您必须重写代码以避免该return语句,如:

()=>{
  if (someMethodThatReturnsBoolean()) true
  else {
    // otherwise do stuff here
  }
}:Boolean
于 2013-04-15T17:19:25.913 回答