我不确定如何在匿名函数中使用return
关键字(或者我应该以不同的方式解决我的问题?)。
现在的方式,return
实际上是指封闭的功能。
()=>{
if (someMethodThatReturnsBoolean()) return true
// otherwise do stuff here
}:Boolean
答案 0 :(得分: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
。
答案 1 :(得分:4)
现在的方式,返回实际上是指封闭函数。
这是应该的样子。您无法使用return
从匿名函数返回。您必须重写代码以避免return
语句,如:
()=>{
if (someMethodThatReturnsBoolean()) true
else {
// otherwise do stuff here
}
}:Boolean