Codeit Mobile
94 subscribers
3 photos
1 video
244 links
📱 آموزش برنامه‌نویسی موبایل

Kotlin • Android

🚀 آموزش ساده، کاربردی و پروژه‌محور
💡 مخصوص توسعه‌دهندگان موبایل
Download Telegram
🔹 تابع «run» یکی از کاربردی‌ترین «Scope Functions» در «Kotlin» هست که همزمان دو کار مفید انجام میده: اجرای یک بلاک کد روی یک آبجکت و برگردوندن نتیجه‌ی آخرین عبارت داخل بلاک.

🔸 «run» دو شکل داره: یکی به عنوان extension function روی هر نوعی و دیگری به صورت standalone که مستقیماً صدا زده میشه. تفاوتش با «let» و «apply» اینه که درون بلاک به آبجکت با کلمه‌ی «this» دسترسی داری و در نهایت نتیجه رو برمی‌گردونه.

🔹 کِی به کار میاد؟ وقتی می‌خوایم یک آبجکت رو مقداردهی اولیه کنیم، چند عملیات روش انجام بدیم و در نهایت یک مقدار جدید برگردونیم. مثلاً پر کردن یک آبجکت «User» از دیتابیس و برگردوندن نام کامل کاربر.

🔸 مثال عملی: فرض کن یک کلاس «User» داری که فیلدهای «firstName» و «lastName» داره. می‌خوای ازش یک «String» به صورت اسم کامل بسازی و برگردونی.

کد مربوطه رو ببین:

data class User(var firstName: String? = null, var lastName: String? = null)

fun getFullName(user: User): String {
return user.run {
firstName = "Ali"
lastName = "Rezaei"
"$firstName $lastName" // آخرین عبارت برگردونده میشه
}
}

fun main() {
val user = User()
val fullName = getFullName(user)
println(fullName) // خروجی: Ali Rezaei
}


🔹 داخل «run» با «this» به آبجکت «user» دسترسی داری و می‌تونی مستقیماً فیلدها رو مقداردهی کنی. در نهایت عبارت «"$firstName $lastName"» به عنوان نتیجه برگردونده میشه.

🔸 این تابع برای زمانی عالیه که هم نیاز به تغییر وضعیت آبجکت داری و هم می‌خوای یک خروجی مشخص ازش بگیری.

🎯 نکته مهم: «run» با «with» تفاوت داره: «with» غیرextension هست و آبجکت رو به عنوان آرگومان می‌گیره. ولی «run» معمولاً روی null safety بهتر کار می‌کنه.

خلاصه: از «run» برای زنجیره‌ای از عملیات روی یک آبجکت و برگردوندن نتیجه استفاده کن.

#Codeit #Android #Kotlin #ScopeFunctions #RunFunction #Jetpack
🌐 Codeit → https://code-it.ir

━━━━━━━━━━━━━━━
@CodeitMobile
🔥1