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

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

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

1 پاسخ

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

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

سوالات مشابه

+1 امتیاز
1 پاسخ 458 بازدید
+2 امتیاز
2 پاسخ 382 بازدید
0 امتیاز
1 پاسخ 556 بازدید
0 امتیاز
1 پاسخ 376 بازدید
0 امتیاز
1 پاسخ 636 بازدید
0 امتیاز
1 پاسخ 340 بازدید
+1 امتیاز
1 پاسخ 364 بازدید
...