Higher-Order Function در برنامه نویسی functional چیست؟

+1 رأی
میانگین بازدید روزانه 0.13197 بازدید
Higher-Order Function در برنامه نویسی functional چیست؟
سوال 4 سال قبل در تالار کامپیوتر و اینترنت توسط Saeed Zarinfam (799 امتیاز)

2 جواب

+1 رأی
 
بهترین جواب

در این نوع سبک برنامه نویسی Function می توانند یک یا چندین Function دیگر را به عنوان پارامتر/آرگمان قبول کند و/یا آنها (Function) را به عنوان Value بازگشت دهد و زبان های Higher-Order از این نوع Function ها پیشتبانی می کند .

خوب در این زمینه یک مقدار مسائل گنگ هست کدام تابع Higher-Order می باشد ؟

  • مقادیری که بدون تابع به کار خودشون ادامه می دهند در سطح 0 (مانند : int x=3)
  • مقادیری که تابع هستند و هیچ درخواستی ندارند و  به کار خودشون ادامه می دهند در سطح 1
  • مقادیری که تابع هستند و یک درخواست دارند و به کار خودشون ادامه می دهند در سطح 2
  • و Function در سطح درخواست n میشه n-1

Functions of order n, n >= 2 نتیجه توابعی که در سطح n>=2 باسند

به نام Higher-Order Function باید شناخت

جواب 4 سال قبل توسط hosseini (1,842 امتیاز)
انتخاب شده در 4 سال قبل توسط Saeed Zarinfam
0 رأی

higher-order function ها، توابعی هستن که بعنوان پارامتر تابع قبول می کنند یا بعنوان مقدار بازگشتی تابع باز می گردانند.

جواب 4 سال قبل توسط Saeed Zarinfam (799 امتیاز)
ویرایش 4 سال قبل توسط Saeed Zarinfam
فرق بین Higher-Order Function با اینکه  First-Class Citizen در یک زبان Function است در چیه
یا فرقی نیست اگر یک زبان  First-Class Citizen: Function باشد میتونیم Higher-Order Function داشته باشیم؟
بله برای داشتن higher order function باید در زبان برنامه‌نویسی شما function بصورت مجزا قابل تعریف باشد یعنی first class citizen باشد.

سوال های مشابه

0 رأی
0 جواب میانگین بازدید روزانه 0.0562 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.0580 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.1147 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.15242 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.27422 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.15156 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.11115 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.13147 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 0.15258 بازدید
کانال تلگرام جواب یاب
...