Avatar ·

كيفية تمرير دالة كمعامل إلى دالة أخرى في Kotlin؟

مرحبًا! بدأت للتو في تعلم Kotlin بعد Java، وواجهت مشكلة. في Java، كنت معتادًا على تمرير الدوال عبر واجهات أو لامبدا، لكن في Kotlin الأمر مختلف نوعًا ما. لنفترض أن لدي دالة بسيطة تجمع رقمين: ```kotlin fun add(a: Int, b: Int): Int { return a + b } ``` وأريد تمريرها إلى دالة أخرى ستطبقها على زوج من الأرقام وتطبع النتيجة. حاولت كتابة شيء مثل: ```kotlin fun applyOperation(x: Int, y: Int, operation: ???) { val result = operation(x, y) println("النتيجة: $result") } ``` لكني لا أعرف أي نوع يجب تحديده للمعامل `operation`. سمعت شيئًا عن `Function` أو `(Int, Int) -> Int`، لكني لست متأكدًا من كيفية استخدامه بشكل صحيح. كما أنني مهتم بمعرفة ما إذا كان يمكن تمرير دوال بتوقيعات مختلفة، مثل عدد مختلف من المعاملات أو أنواع الإرجاع. أرجو توضيح كيفية القيام بذلك في Kotlin؟ الأمثلة البرمجية ستساعد كثيرًا. شكرًا!