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

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

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

1 پاسخ

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

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

سوالات مشابه

+1 امتیاز
1 پاسخ 579 بازدید
+2 امتیاز
2 پاسخ 511 بازدید
0 امتیاز
1 پاسخ 670 بازدید
0 امتیاز
1 پاسخ 473 بازدید
0 امتیاز
1 پاسخ 765 بازدید
0 امتیاز
1 پاسخ 433 بازدید
+1 امتیاز
1 پاسخ 458 بازدید
...