لماذا يمنع 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` أو أغلفة مخصصة. قرأت أن هذا مرتبط بتصميم...