اختيار الأنسب
متى تستخدمون كل واحدة
اختيار الأنسب درس مجاني في Kotlin Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Kotlin Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Kotlin Academy 4 دروس في المجموع.
اختيار دالة النطاق
مع توفر خمس دوال للنطاق، يعتمد اختيار الدالة المناسبة على سؤالين:
- كيف تتم الإشارة إلى الكائن: باستخدام
thisأمit؟ - ما القيمة المُرجعة: نتيجة اللامبدا أم الكائن؟
جدول الاختيار
إليك الصورة الكاملة:
- تستخدم
letالقيمةit، وتُرجع نتيجة اللامبدا. - تستخدم
runالقيمةthis، وتُرجع نتيجة اللامبدا. - تستخدم
withالقيمةthis(معاملًا)، وتُرجع نتيجة اللامبدا. - تستخدم
applyالقيمةthis، وتُرجع الكائن. - تستخدم
alsoالقيمةit، وتُرجع الكائن.
استخدم let للأمان مع null
عندما تكون لديك قيمة قابلة لـ null وتريد التعامل معها فقط إذا كانت موجودة، فاستخدم let مع استدعاء آمن.
fun main() {
val name: String? = "Ada"
name?.let { println("Hello $it") }
}استخدم run مع this والنتيجة
عندما تريد الوصول إلى الأعضاء باستخدام this وحساب نتيجة، فاستخدم run.
fun main() {
val text = "scope"
val info = text.run { "$this has length $length" }
println(info)
}استخدم with للتجميع
عندما يكون لديك كائن غير قابل لـ null وتريد تنفيذ عدة عمليات عليه، تكون with خيارًا طبيعيًا في القراءة.
fun main() {
val list = listOf(1, 2, 3)
with(list) {
println(sum())
println(size)
}
}استخدم apply للتهيئة
عندما تنشئ كائنًا وتحتاج إلى تعيين عدة خصائص، تحافظ apply على وضوح التعليمات البرمجية وتُرجع الكائن.
data class Server(var host: String = "", var port: Int = 0)
fun main() {
val server = Server().apply {
host = "0.0.0.0"
port = 80
}
println(server)
}استخدم also للآثار الجانبية
عندما تريد التسجيل أو تصحيح الأخطاء أو التحقق من دون تغيير الكائن، يكون استخدام also مع it هو الخيار المناسب.
fun main() {
val nums = listOf(1, 2, 3)
.also { println("Got ${it.size} items") }
println(nums.sum())
}دمج دوال النطاق
غالبًا ما تسلسلها التعليمات البرمجية الفعلية: تهيّئ باستخدام apply، وتسجّل باستخدام also، وتحول باستخدام let.
data class User(var name: String = "", var score: Int = 0)
fun main() {
val label = User()
.apply { name = "Max"; score = 90 }
.also { println("Created $it") }
.let { "${it.name}: ${it.score}" }
println(label)
}تجنب الإفراط في الاستخدام
قد تضر دوال النطاق بقابلية القراءة إذا تداخلت أو استُخدمت بإفراط. إذا كان استخدام متغير عادي وتعليمات صريحة أوضح، فاختر ذلك. استخدم دوال النطاق لإزالة التكرار الحقيقي، لا لإظهار البراعة.
مشكلة التداخل
يجعل تداخل دوال النطاق it وthis غامضين. وإذا اضطررت إلى التداخل، فأعد تسمية المعامل للحفاظ على الوضوح.
fun main() {
val outer = "A"
outer.let { o ->
"B".let { i ->
println("$o then $i")
}
}
}نموذج ذهني سريع
تذكّر: دوال إرجاع الكائن (apply وalso) تنشئ مسارات متتابعة، ودوال إرجاع النتيجة (let وrun وwith) تحوّل القيم. اختر بين it وthis بناءً على قابلية القراءة.
تحقق سريع
ما دالة النطاق التي ينبغي استخدامها لتهيئة كائن أُنشئ حديثًا واستعادة ذلك الكائن؟
مراجعة
أصبح لديك الآن إطار لاتخاذ القرار: اختر بناءً على المرجع (this في مقابل it) والقيمة المُرجعة (الكائن في مقابل النتيجة). تحوّل let وrun القيم، وتجمع with العمليات، وتُهيّئ apply الكائن، وتضيف also آثارًا جانبية. استخدمها لتقليل التشويش، لا لإضافته.
تعلم Kotlin مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 51
- الدروس
- 203
الأسئلة الشائعة
هل درس «اختيار الأنسب» مجاني؟
نعم — نص درس «اختيار الأنسب» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Kotlin Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Kotlin Academy 4 دروس في المجموع.
ماذا ستتعلم في «اختيار الأنسب»؟
متى تستخدمون كل واحدة تتمرن على Kotlin Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Kotlin Academy؟
لا تُشترط خبرة سابقة. Kotlin Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «اختيار الأنسب»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Kotlin Academy هذا؟
نعم. كل درس في Kotlin Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- let وrun
- apply وalso
- with
- اختيار الأنسب