は、私の知る限り見ることができるように、エルビス演算子を使用する唯一の方法は、このような構文である:エルヴィスオペレータにログを記録しますか?
foo = bar ?: return
誰でものように、一般的にリターンがある、ログを含める方法を打ち出している場合、私は興味がありました(少なくとも私の経験では)何かが期待どおりに動作しないときに使用された。
ただし、次の構文が無効です。もちろん
foo = bar ?: {
Log.e(TAG, "Some error occurred.")
return
}
私は単純に以下の、
foo = bar
if (foo == null) {
Log.e(TAG, "Some error occurred.")
return
}
を行うことができますがエルビス演算子とログインを含む任意の方法はありますか?
ええ、私たちは同じです。私は 'let 'を使う。あなたの 'return'はそれを外に置かなければなりません。もっと明確になります。 –
これはDavid Furmanの答えが受け入れられるべきだと思います。 – marstran