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

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

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

1 پاسخ

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

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

سوالات مشابه

+1 امتیاز
1 پاسخ 526 بازدید
+2 امتیاز
2 پاسخ 460 بازدید
0 امتیاز
1 پاسخ 628 بازدید
0 امتیاز
1 پاسخ 438 بازدید
0 امتیاز
1 پاسخ 721 بازدید
0 امتیاز
1 پاسخ 398 بازدید
+1 امتیاز
1 پاسخ 424 بازدید
...