जहां तक मैं देख सकता हूँ, एल्विस ऑपरेटर का उपयोग करने के लिए एक ही रास्ता इस तरह वाक्य रचना के साथ है उपयोग किया जाता है (कम से कम मेरे अनुभव में) जब कुछ उम्मीद के रूप में व्यवहार नहीं करता है।एल्विस ऑपरेटर में लॉगिंग शामिल करें?</p> <pre><code>foo = bar ?: return </code></pre> <p>मैं उत्सुक था अगर किसी को भी एक तरह से साथ आ गया है लॉगिंग शामिल करने के लिए, के रूप में आम तौर पर वापसी है:
हालांकि, निम्न सिंटैक्स अमान्य है:
foo = bar ?: {
Log.e(TAG, "Some error occurred.")
return
}
बेशक
मैं कर सकता बस कर निम्नलिखित,
foo = bar
if (foo == null) {
Log.e(TAG, "Some error occurred.")
return
}
लेकिन वहाँ एल्विस ऑपरेटर के साथ प्रवेश करने सहित किसी भी तरह से है?
हाँ, हम वही हैं। लेकिन मैं 'let' का उपयोग करता हूं। आपकी 'वापसी' इसे बाहर रखी जानी चाहिए, जो अधिक स्पष्ट रूप से होगी। –
मुझे लगता है कि यह या डेविड फर्मन का जवाब स्वीकार किया जाना चाहिए। – marstran