آموزش Inline Functions، let, with, apply ,...
سلام
آموزش Inline Functions، let, with, apply ,... در آموزش کاتلین میباشد؟ من چیزی ندیدم که باشه.
inline function یعنی وقتی تابع یک تابع راصدا می زنی به جای اینکه یک نمونه از تابع را بگیره کدهای تابع را در برنامه کپی پیست می کنه وبه در موقعی می خوره که تابع یک لامبدا داشته باشه و طول اجرای خط کد کم باشه تابعی که فرم به صورت زیر است یا به اصطلاح به درد higher order function ها می خوره
public fun <T, R> T.let(block: (T) -> R): R {
return block(this)
}
خود متغیر به عنوان ورودی تابع و خروجی هر چی جمله آخربود به در elvis operator(?)s بیشتر می خوره
در مورد with که به این روش قابل استفاده است
with(myObject){
/// این بلاک تمامی خواص آبجکت مورد نظر را دارد
}
مثال آن را مثلا در اندروید در ریسایکر ویو
with(myViewHolder){
textView.text="arash"
}
apply یک جور شبیه دیزان پترن بیلدر وبیشتر به در مقدار دهی اولیه می خوره مثال
val textView:TextView=findViewById<TextView>(R.id.textView).apply{
text="A"
hint="A"
}
علاوه بر این ها یک عالمه است مثل map filter sum در آرایه ها یا run take if در لایبری های استاندارد که به سایت خودش برید براتون کامل توضیخ داده
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .