تابع مرتبه بالاتر

(تغییرمسیر از تابع مرتبه‌بالا)

در ریاضیات و علوم رایانه، یک تابع مرتبهٔ بالاتر (به انگلیسی: Higher-order functionتابعی است که حداقل یکی از شروط زیر را داشته باشد:

  • یک یا چند تابع را به عنوان ورودی بگیرد.
  • یک تابع به عنوان خروجی خود برگرداند.

سایر توابع، توابع مرتبهٔ اول (به انگلیسی: First-order function) هستند. در ریاضیات توابع مرتبهٔ بالاتر با نام عملگرها یا تابعی‌ها نیز شناخته می‌شوند. عملگر دیفرانسیلی در حسابان که نگاشتی از یک تابع به مشتق آن تابع (که خود تابعی دیگر است) برقرار می‌کند، نمونه‌ای متداول از این گونه توابع است.

در حساب لامبدای بی‌نوع، هر تابعی به شکل مرتبهٔ بالاتر است. در حساب لامبدای نوع‌دار که بر اساس آن عمدهٔ زبان‌های برنامه‌نویسی تابعی تکامل یافته‌اند، توابع مرتبهٔ بالاتری که یک تابع به عنوان ورودی خود می‌گیرند، مقدارهایی با نوعی به شکل هستند.

نمونه‌های کلی

ویرایش
  • تابع نگاشت (به انگلیسی: map) که در بسیاری از زبان‌های برنامه‌نویسی تابعی وجود دارد، یکی از مثال‌های متداول تابع مرتبهٔ بالاتر است. این تابع، تابع f و مجموعه‌ای از داده‌ها را به عنوان ورودی خود می‌گیرد و به عنوان نتیجهٔ خروجی، مجموعه‌ای جدید می‌دهد که حاصل اعمال تابع f روی هر یک از عناصر مجموعهٔ ورودی است.
  • توابع مرتب‌سازی که برای پارامتر ورودی خود، یک تابع را به عنوان معیار مقایسه می‌گیرند.
  • فیلتر

جستارهای وابسته

ویرایش

منابع

ویرایش

مشارکت‌کنندگان مقالهٔ Higher-order function در ویکی‌پدیای انگلیسی