ماذا يفعل العامل ?: في Kotlin؟ (Elvis Operator)
مرحباً بالجميع! لقد بدأت مؤخراً في تعلم Kotlin وصادفت عاملاً غريباً `?:`. رأيته في كود شخص آخر، لكنني لا أستطيع فهم ما يفعله.
على سبيل المثال، يوجد هذا الكود:
```kotlin
val name: String? = null
val result = name ?: "Unknown"
```
أفهم أن `String?` تعني أن المتغير يمكن أن يكون null. لكن ماذا يفعل `?:`؟ لماذا يصبح `result` هو "Unknown" على الرغم من أن `name` هو null؟ في Java كنت سأكتب `if (name != null) name else "Unknown"`، لكن هنا حرف واحد فقط.
من فضلك، اشرح بكلمات بسيطة كيف يعمل هذا العامل، وأعرض أمثلة. كما أنني مهتم بمعرفة هل يمكن استخدامه ليس فقط مع القيم البسيطة، ولكن أيضاً مع الدوال؟ وهل هناك أي مطبات خفية؟
شكراً مقدماً!
<<>>
عامل إلفيس (Elvis Operator) في Kotlin
العامل ?: يُسمى Elvis Operator (عامل إلفيس) — بسبب تشابهه مع تسريحة شعر إلفيس بريسلي إذا أدرت رأسك جانباً. يُستخدم لمعالجة القيم null.