fa
Feedback
نصائح و استشارات برمجية

نصائح و استشارات برمجية

رفتن به کانال در Telegram

• نصائح واستشارات برمجية متعلقة باسئلة تم طرحها • لطرح استفسار او سؤال: @m4md24

نمایش بیشتر
1 444
مشترکین
+224 ساعت
اطلاعاتی وجود ندارد7 روز
+2530 روز
آرشیو پست ها
فا نعم هذه تُعتَبَر Lambda

الـ Lambda أصلاً تعبير يتم استخدامه من خلال صيغة استدعاء

fun main() {
    calculate(10, 20, ::sum)
}

fun sum(x: Int, y: Int): Int {
    return x + y
}

fun calculate(x: Int, y: Int, operation: (Int, Int) -> Int): Int {
    return operation(x, y)
}

تصحيح:
fun sum(x: Int, y: Int): Int {
    return x + y
}

يعني اقدر استخدم داله عاديه مثل fum sum(x : Int , y : Int ){ return x + y } واقدر ارسلها لداله ثانيه ك lambda مثل fun main (){ calculate(x, y , ::sum) } وداله calculate تستقبل الداله ك تعبير لامبدا مثل : fun calculate(x : Int, y : Int, operation : ( Int, Int ) -> Int ): Int { return operation(x, y) } وكذا نكون حولنا داله عاديه لتعبير لامبدا؟

sticker.webp0.06 KB

ميزة تمكنك من الإشارة إلى دالة موجودة واستخدامها كقيمة (Lambda) دون استدعائها مباشرة، وذلك باستخدام المعامل `::`

sticker.webp0.34 KB

السلام عليكم ورحمة الله وبركاته، ماهو ال Function Reference ؟

sticker.webp0.06 KB

شتان الفرق

وهذا Singleton

هذا ينشئ عدة كائنات

طيب ينفع استبدل ال data class ب data object بدون ما يتاثر الكود صح؟

sticker.webp0.06 KB

ما هو الـ Sealed Class؟ هو كلاس يمنع أي كلاس آخر من أن يرث منه إلا الكلاسات الموجودة في نفس الملف. الفرق بين Sealed Class وبين الـ Class العادي: الكلاس العادي: أي كلاس آخر في المشروع يمكنه أن يرث منه (مفتوح للوراثة). الـ Sealed Class: الوراثة مقصورة فقط على الكلاسات الداخلية (أو الموجودة في نفس الملف). لا يمكن لأي كلاس خارج هذا النطاق أن يرثه. ———— من ضمن الأمثلة على الاستخدام عندما يكون لديك مجموعة محدودة ومعروفة من الاحتمالات، وتريد التعامل معها بطريقة آمنة، خاصة في when.
sealed class UiState {
    data class Success(val data: String) : UiState()
    data class Error(val message: String) : UiState()
    object Loading : UiState()
}

fun handle(state: UiState) = when (state) {
    is UiState.Success -> println(state.data)
    is UiState.Error -> println(state.message)
    UiState.Loading -> showLoading()
}

sticker.webp0.22 KB

sticker.webp0.34 KB

السلام عليكم ورحمة الله وبركاته أردت ان أسأل عن ال sealed class ماهو ومالفرق بينه وبين ال class العادي وايضا ماهي الحالات اللتي أحتاج استخدامه فيها، وجزاكم الله خيرا

sticker.webp0.06 KB