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

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

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

1 پاسخ

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

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

سوالات مشابه

+1 امتیاز
1 پاسخ 466 بازدید
+2 امتیاز
2 پاسخ 394 بازدید
0 امتیاز
1 پاسخ 568 بازدید
0 امتیاز
1 پاسخ 388 بازدید
0 امتیاز
1 پاسخ 656 بازدید
0 امتیاز
1 پاسخ 347 بازدید
+1 امتیاز
1 پاسخ 372 بازدید
...