🔶 کاتلین و Higher-order function

🔶 کاتلین و Higher-order function

🔹وقتی فیلم‌های معرفی کاتلین رو میدیدم، دو سه جاییش در مورد Higher-order function صحبت کردند. اولش فکرمیکردم یه چیزی هست که به مرتبه زمانی کار داره (چون order داشت) تا اینکه دیگه تصمیم گرفتم سرچ کنم و ببینم اصن قضیه‌اش چیه😃 منتظر بودم با مفهوم پیچیده‌ای روبرو بشم که دیدم چقدر سادس.

🔹این قضیه فراتر از کاتلین هست و از قدیم توی خیلی زبان‌ها استفاده میشه (از جاوا ۸ به جاوا اضافه شده). برای اونا که اعتقاد دارند درس خوندن ربطی به برنامه‌نویسی نداره هم باید بگم که احتمالا این قضیه از توی ریاضی وارد برنامه‌نویسی شده😃 معادل فارسی Higher-order function میشه تابع‌ مرتبه‌ی بالاتر و به تابع‌ای میگن که حداقل یکی از دو کار زیر رو انجام بده:

1️⃣ یک یا چند تابع رو به عنوان ورودی بگیره
2️⃣ یک تابع در خروجی بده (مقدار return تابع، یک تابع باشه)

توی ریاضی در کنار توابع مرتبه‌بالا بهشون عملگرها یا فانکشنال‌ها هم میگن. اگر درس حسابان یا خود مشتق رو یادتون باشه، شاید براتون جالب باشه بدونید که "مشتق" یک تابع مرتبه‌بالا هست، یعنی یک تابع مثل f(x)=x^2 رو میگیره و بهتون f(x)=2x تحویل میده😃

🔹اگر دوست دارید ببینید که چه زبان‌هایی از توابع مرتبه‌ بالا پشتیبانی میکنند به لینک زیر برید:
https://en.wikipedia.org/wiki/Higher-order_function
اگر هم میخواید یاد بگیرید توی کاتلین چطور از این توابع میشه ساخت و ازشون استفاده کرد به لینک زیر برید:
https://kotlinlang.org/docs/reference/lambdas.html#higher-order-functions

#kotlin #android
◀️ عضویت در کانال @aoveissi