Kotlin `Result<T>` को फ़ंक्शन के रिटर्न टाइप के रूप में उपयोग करने से क्यों रोकता है?
सभी को नमस्ते! मैं Kotlin सीख रहा हूँ और एक अजीब समस्या का सामना किया। मैं एक फ़ंक्शन लिखना चाहता था जो या तो सफल परिणाम या अपवाद लौटाए, बिल्ट-इन क्लास `Result` का उपयोग करके। यहाँ मेरा कोड है:\n\n```kotlin\nfun divide(a: Int, b: Int): Result {\n return try {\n Result.success(a / b)\n } catch (e: ArithmeticException) {\n Result.failure(e)\n }\n}\n```\n\nलेकिन कंपाइलर एक त्रुटि देता है: *"'kotlin.Result' cannot be used as a return type"*. मैंने `Result?` और यहाँ तक कि `Any` में लपेटने का प्रयास किया, लेकिन कुछ भी काम नहीं करता। इस बीच, मैं फ़ंक्शन के बॉडी के अंदर `Result` का उपयोग कर सकता हूँ, उदाहरण के लिए इसे `runCatching` से लौटा सकता हूँ, लेकिन रिटर्न टाइप के रूप में नहीं।\n\nऐसा क्यों? Java में तो `Optional` या अपने रैपर का उपयोग कर सकते हैं। मैंने पढ़ा है कि यह डिज़ाइन से संबंधित है।