0 امتیاز
قبل در برنامه نویسی توسط (1.1هزار امتیاز)

کاربرد implicit پارامتر ها در توابع Scala چیست؟ برای مثال:

def p(implicit i:Int) = print(i)

1 پاسخ

+1 امتیاز
قبل توسط (1.2هزار امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ
یک قابلیت خیلی جذاب اسکالا متغیر های implicit هست. به طور غیر فنی فرض کنید به پارامتر خاصیت مغناطیسی اضافه کردید (!) در زمان فراخوانی تابع که اینجور پارامتر های رو داره اگه در حوزه فراخوانی تابع (scope) منتغیری هم با implicit تعریف شده باشه و هم جنس پارامتر تابع باشه می تونید صراحتا چیزی رو به تابع پاس ندید ، اسکالا خودش اون متغیر رو به عنوان آرگومان پاس خواهد داد.

یک نکته جالب دیگه اینکه چون در اسکالا همه چیز شی هست ( حتی توابع ) میشه یک تابع نوشت که عمل تبدیل رو انجام بده و چون implicit تعریفش می کنیم به طور خودکار جاهایی که احتیاج به اون نگاشت باشه اعمال میشه ! قابلیت خیلی خوبیه ولی زیاده روی کردن باعث گنگ شدن کد میشه.

سوالات مشابه

+1 امتیاز
1 پاسخ 326 بازدید
+2 امتیاز
2 پاسخ 292 بازدید
0 امتیاز
1 پاسخ 460 بازدید
0 امتیاز
1 پاسخ 261 بازدید
0 امتیاز
1 پاسخ 551 بازدید
0 امتیاز
1 پاسخ 229 بازدید
+1 امتیاز
1 پاسخ 251 بازدید
...