免責事項:以下の解決策は完全性のために提供されていますが、この場合はjwvhの回答が優先されるべきであり、一般的により良い選択肢があります。特に、ラムダ内部のreturn
が例外を使って実装されていることに注意してください.1)通常のメソッド呼び出しよりもはるかに悪い可能性があります。 2)あなたが不注意であれば、それを間違えて捕まえることができます。
これはあなたが方法で行う必要がある最後の事であるならば、あなただけのreturn
を使用することができます。
myChoice.category.foreach(category => {
category.flavours.foreach(flavour=> {
if (flavour.available) return true
})
})
false
されていない場合、あなたは(ローカル1を含む)メソッドを抽出することができます。
def foo = {
...
val myChoice = ...
def hasAvailableFlavorsMethod() = {
myChoice.category.foreach(category => {
category.flavours.foreach(flavour=> {
if (flavour.available) return true
})
})
false
}
val hasAvailableFlavors = hasAvailableFlavorsMethod()
...
}