ویرگول
ورودثبت نام
پرووید
پرووید
خواندن ۱ دقیقه·۳ سال پیش

بررسی توابع مرتبه بالا (Higher Order Function) در زبان های برنامه ‌نویسی تابع گرا

در این قسمت در رابطه با توابع مرتبه بالا و یا Higher Order Function که به طور کوتاه به آنها HOF نیز می‌گوییم صحبت خواهیم کرد. منظور از یک Higher Order Function در واقع تابعی است که یکی از شرایط زیر را دارد.

  1. به عنوان پارامتر ورودی یک و یا چندین تابع دیگر را دریافت می کند.
  2. به عنوان خروجی یک تابع را برمی‌گرداند.

کاربرد توابع مرتبه بالا در زبان های برنامه نویسی تابع گرا بسیار زیاد هستند. در ادامه مثال هایی از این نوع از توابع را بررسی خواهیم کرد.

بررسی توابع مرتبه بالا (HOF) در زبان برنامه نویسی PHP

مثالی که در قسمت زیر مشاهده می کنید نحوه تعریف کردن یک Higher Order Function را در زبان برنامه نویسی PHP نشان می ‌دهد. احتمالاً می‌دانید که زبان برنامه نویسی PHP یک زبان شی‌ گرا است. لطفاً کد زیر را ببینید.

[c++]
$twice = function($f, $v) {
return $f($f($v));
};

$f = function($v) {
return $v + 3;
};

echo($twice($f, 7));
[/c++]

خروجی این کد شبیه به قسمت زیر خواهد بود.

13

حال اگر بخواهیم همین کار را در زبان برنامه نویسی Python به عنوان یک زبان برنامه نویسی تابع گرا لحاظ کنیم می‌توانیم شبیه به قسمت زیر عمل کنیم.

[c++]
def twice(function):
return lambda x: function(function(x))
def f(x):
return x + 3
g = twice(f)
print g(7)
[/c++]

خروجی این کد شبیه به قسمت زیر خواهد بود.

13

یکی از کاربردهای این نوع از توابع تعریف کردن یک Callback Function می‌باشد. منظور از Callback Function تابعی است که پس از تکمیل شدن یک تابع می‌بایست اجرا بگردد.

منبع: وبسایت پرووید

زبان برنامه نویسی تابع گرا چیست؟توابع مرتبه بالا higher order functionزبان برنامه نویسی php
شاید از این پست‌ها خوشتان بیاید