وظيفة مجهولة المصدر
في برمجة الحاسوب ، الدالة المجهولة (أو الدالة الحرفية ، أو دالة لامدا ، أو الكتلة ) هي تعريف دالة غير مرتبطة بمعرّف . غالبًا ما تُستخدم الدوال المجهولة كوسائط تُمرر إلى دوال من الرتبة العليا ، أو تُستخدم لإنشاء نتيجة دالة من الرتبة العليا تحتاج إلى إرجاع دالة. [ 1 ] إذا استُخدمت الدالة مرة واحدة فقط، أو لعدد محدود من المرات، فقد تكون الدالة المجهولة أخفّ من الناحية التركيبية من استخدام دالة مُسماة. تنتشر الدوال المجهولة في لغات البرمجة الوظيفية وغيرها من اللغات التي تدعم الدوال من الدرجة الأولى ، حيث تؤدي نفس دور القيم الحرفية لأنواع البيانات الأخرى .
تعود أصول الدوال المجهولة إلى عمل ألونزو تشيرش في ابتكاره لحساب لامدا ، الذي تُعدّ فيه جميع الدوال مجهولة، عام 1936، قبل ظهور الحواسيب الإلكترونية. [ 2 ] في العديد من لغات البرمجة، تُعرّف الدوال المجهولة باستخدام الكلمة المفتاحية lambda ، وغالبًا ما يُشار إليها باسم لامدا أو تجريدات لامدا . وقد أصبحت الدوال المجهولة سمةً من سمات لغات البرمجة منذ لغة ليسب عام 1958، ويدعم عدد متزايد من لغات البرمجة الحديثة الدوال المجهولة.
الأسماء
تشير المصطلحات "التجريد اللامدا" و"دالة لامدا" و"تعبير لامدا" إلى ترميز تجريد الدوال في حساب التفاضل والتكامل اللامدا، حيث الدالة المعتادةسيكتبوحيثهو تعبير يستخدمقارن ذلك بصيغة بايثون الخاصة بـ .lambdax:M
يشير اسم "دالة السهم" إلى الرمز الرياضي " يُطابق إلى ".قارن ذلك بصيغة جافا سكريبت الخاصة بـ [ 3 ]x=>M
الاستخدامات
يمكن للدوال المجهولة أن تغلف وظائف لا تتطلب تسمية، وهي مخصصة للاستخدام قصير المدى أو المحدود. ومن الأمثلة البارزة على ذلك الدوال المغلقة (closures) والدوال الجزئية (currying) .
يُعدّ استخدام الدوال المجهولة مسألة أسلوبية، ولا يُمثّل استخدامها الحلّ الوحيد لأيّ مشكلة؛ إذ يُمكن تعريف كلّ دالة مجهولة كدالة مُسمّاة واستدعاؤها باسمها. غالبًا ما تُوفّر الدوال المجهولة صيغةً مختصرةً مقارنةً بتعريف الدوال المُسمّاة. في اللغات التي لا تسمح بتعريف الدوال المُسمّاة في النطاقات المحلية، قد تُوفّر الدوال المجهولة تغليفًا عبر النطاق المحلي، إلا أن الكود الموجود في جسم هذه الدوال المجهولة قد لا يكون قابلاً لإعادة الاستخدام أو للاختبار بشكل منفصل. قد تكون الدوال المجهولة القصيرة/البسيطة المُستخدمة في التعبيرات أسهل قراءةً وفهمًا من الدوال المُسمّاة المُعرّفة بشكل منفصل، مع العلم أن افتقارها إلى اسم وصفي قد يُقلّل من سهولة قراءة الكود.
في بعض لغات البرمجة، يتم تنفيذ الدوال المجهولة بشكل شائع لأغراض محددة للغاية مثل ربط الأحداث بردود الاتصال أو إنشاء الدالة لقيم معينة، وهو ما قد يكون أكثر كفاءة في لغة البرمجة الديناميكية ، وأكثر قابلية للقراءة، وأقل عرضة للأخطاء من استدعاء دالة مسماة.
الأمثلة التالية مكتوبة بلغة بايثون 3.
فرز
توفر العديد من لغات البرمجة دالةً عامةً لترتيب قائمة (أو مصفوفة) من العناصر وفقًا لترتيب تحدده دالة مقارنة تقارن عنصرين لتحديد ما إذا كانا متساويين أو ما إذا كان أحدهما أكبر أو أصغر من الآخر. غالبًا ما يكون استخدام تعبير دالة مقارنة مجهولة ، يتم تمريره كوسيط لدالة فرز عامة، أكثر اختصارًا من إنشاء دالة مقارنة مُسماة.
لنفترض أن لدينا كود بايثون هذا يقوم بفرز قائمة من السلاسل النصية حسب طول السلسلة:
a : list [ str ] = [ "house" , "car" , " bike" ] a.sort ( key = lambda x : len ( x )) print ( a ) # يطبع ['car ' , 'bike', 'house']الدالة المجهولة في هذا المثال هي تعبير لامدا:
lambda x : len ( x )تقبل الدالة المجهولة وسيطًا واحدًا، x، وتعيد طول وسيطها، والذي تستخدمه الطريقة بعد ذلك sort()كمعيار للفرز.
الصيغة الأساسية لدالة لامدا في بايثون هي
lambda arg1 , arg2 , arg3 , ... : < عملية على الوسائط تُرجع قيمة >يمكن تعيين التعبير الذي تُرجعه دالة lambda إلى متغير واستخدامه في الكود في أماكن متعددة.
من typing استورد Callableدالة الجمع : دالة قابلة للاستدعاء [[ عدد صحيح ]، عدد صحيح ] = lambda a : a + a print ( add ( 20 )) # تطبع 40مثال آخر هو فرز العناصر في قائمة حسب اسم فئتها (في بايثون، كل شيء له فئة):
a : list [ int | str ] = [ 10 , " number" , 11.2 ] a.sort ( key = lambda x : x .__ class __.__ name__ ) print ( a ) # يطبع [11.2, 10, 'number' ]لاحظ أن 11.2اسم الفئة هو " float"، 10واسم الفئة هو " int"، 'number'واسم الفئة هو " str". الترتيب المصنف هو " float"، " int"، ثم " " str".
عمليات الإغلاق
الدوال المغلقة هي دوال يتم تقييمها في بيئة تحتوي على متغيرات مرتبطة . المثال التالي يربط المتغير "threshold" داخل دالة مجهولة تقارن قيم الإدخال بهذا الحد.
دالة comp ( threshold : int ) -> Callable [[ int ], bool ]: return lambda x : x < thresholdيمكن استخدام هذا كنوع من مولدات دوال المقارنة:
func_a : Callable [[ int ], bool ] = comp ( 10 ) func_b : Callable [[ int ], bool ] = comp ( 20 )print ( func_a ( 5 ), func_a ( 8 ), func_a ( 13 ), func_a ( 21 )) # يطبع True True False Falseprint ( func_b ( 5 ), func_b ( 8 ), func_b ( 13 ), func_b ( 21 )) # يطبع True True True Falseسيكون من غير العملي إنشاء دالة لكل دالة مقارنة محتملة، وقد يكون من غير الملائم الاحتفاظ بالحد الأدنى لاستخدامه لاحقًا. بغض النظر عن سبب استخدام الإغلاق، فإن الدالة المجهولة هي الكيان الذي يحتوي على الوظيفة التي تُجري المقارنة.
الكاري
تُحوّل تقنية "التقسيم الجزئي" دالة تأخذ عدة وسائط إلى سلسلة من الدوال، كل منها تقبل وسيطًا واحدًا. في هذا المثال، يتم تحويل دالة تُجري عملية القسمة على أي عدد صحيح إلى دالة تُجري عملية القسمة على مجموعة محددة من الأعداد الصحيحة.
دالة القسمة ( س : عدد صحيح ، ص : عدد صحيح ) -> عدد عشري : تُرجع س / صدالة divisor ( d : int ) -> Callable [[ int ], float ]: return lambda x : divide ( x , d )half : Callable [[ int ], float ] = divisor ( 2 ) third : Callable [[ int ], float ] = divisor ( 3 )print ( half ( 32 ), third ( 32 )) # يطبع 16.0 10.666666666666666print ( half ( 40 ), third ( 40 )) # يطبع 20.0 13.333333333333334على الرغم من أن استخدام الدوال المجهولة ليس شائعًا في تقنية التخصيص الجزئي (Currying)، إلا أنه لا يزال ممكنًا. في المثال أعلاه، تُنشئ الدالة divisor دوالًا بمُقسّم مُحدد. تُخصّص الدالتان half و third دالة القسمة بمُقسّم ثابت.
تشكل دالة القسمة أيضًا إغلاقًا عن طريق ربط المتغير d.
الدوال ذات الرتبة العليا
الدالة ذات الرتبة العليا هي دالة تأخذ دالة أخرى كمعامل أو تُرجع دالة أخرى كنتيجة. تُستخدم هذه التقنية بكثرة لتخصيص سلوك دالة عامة، مثل حلقة تكرار أو نمط استدعاء ذاتي. تُعد الدوال المجهولة طريقة ملائمة لتحديد معاملات هذه الدوال. الأمثلة التالية مكتوبة بلغة بايثون 3.
رسم خريطة
تقوم دالة map باستدعاء دالة على كل عنصر من عناصر القائمة. يوضح المثال التالي كيفية تربيع كل عنصر في مصفوفة باستخدام دالة مجهولة.
a : list [ int ] = [ 1 , 2 , 3 , 4 , 5 , 6 ] print ( list ( map ( lambda x : x * x , a ))) # يطبع [1, 4, 9, 16, 25, 36]تأخذ الدالة المجهولة وسيطًا وتعيد مربعه. لا يُشجع مُصممو اللغة على استخدام الصيغة المذكورة أعلاه، إذ يرون أن الصيغة الموضحة أدناه تحمل المعنى نفسه وتتوافق بشكل أكبر مع فلسفة اللغة.
a : list [ int ] = [ 1 , 2 , 3 , 4 , 5 , 6 ] print ([ x * x for x in a ]) # يطبع [1, 4, 9, 16, 25, 36]فلتر
تقوم دالة التصفية بإرجاع جميع العناصر من القائمة التي تُقيّم بـ "صحيح" عند تمريرها إلى دالة معينة.
a : list [ int ] = [ 1 , 2 , 3 , 4 , 5 , 6 ] print ( list ( filter ( lambda x : x % 2 == 0 , a ))) # يطبع [2, 4, 6]تتحقق الدالة المجهولة مما إذا كان الوسيط المُمرر إليها زوجيًا. وكما هو الحال مع دالة map، يُعتبر الشكل التالي أكثر ملاءمة:
a : list [ int ] = [ 1 , 2 , 3 , 4 , 5 , 6 ] print ([ x for x in a if x % 2 == 0 ]) # يطبع [2, 4, 6]طية
تُنفَّذ دالة الطي على جميع عناصر البنية (عادةً من اليسار إلى اليمين في القوائم، وتُسمى "الطي الأيسر" reduceفي بايثون)، وتُجمِّع قيمةً أثناء تنفيذها. يمكن استخدام هذه الدالة لدمج جميع عناصر البنية في قيمة واحدة، على سبيل المثال:
a : list [ int ] = [ 1 , 2 , 3 , 4 , 5 ] print ( functools.reduce ( lambda x , y : x * y , a ) ) # يطبع 120هذا يؤدي
الدالة المجهولة هنا هي ضرب الوسيطين.
لا ينتج عن عملية الطي بالضرورة قيمة عددية واحدة؛ بل يمكنها أيضًا توليد نتائج مُهيكلة مثل القوائم. ويمكن إنشاء كل من دالتي الخريطة والتصفية باستخدام الطي. في دالة الخريطة، تكون القيمة المُجمّعة قائمة جديدة تحتوي على نتائج تطبيق دالة على كل عنصر من عناصر القائمة الأصلية. أما في دالة التصفية، فتكون القيمة المُجمّعة قائمة جديدة تحتوي فقط على العناصر التي تُطابق الشرط المُحدد.
قائمة اللغات
فيما يلي قائمة بلغات البرمجة التي تدعم الدوال المجهولة غير المسماة بشكل كامل، أو جزئياً كنوع من أنواعها، أو لا تدعمها على الإطلاق.
يوضح الجدول التالي عدة أنماط شائعة. ومن الجدير بالذكر أن لغات مثل C وباسكال وأوبجكت باسكال - التي لا تدعم تقليديًا الدوال المجهولة - هي لغات ذات كتابة ثابتة . ومع ذلك، يمكن للغات ذات الكتابة الثابتة دعم الدوال المجهولة. على سبيل المثال، لغات ML ذات كتابة ثابتة وتتضمن أساسًا دوالًا مجهولة، وقد تم توسيع لغة دلفي ، وهي لهجة من أوبجكت باسكال ، لدعم الدوال المجهولة، وكذلك لغة C++ (بموجب معيار C++11 ). ثانيًا، اللغات التي تعامل الدوال كدوال من الدرجة الأولى ( ديلان ، هاسكل ، جافا سكريبت ، ليسب ، ML ، بيرل ، بايثون ، روبي ، سكيم ) تدعم عمومًا الدوال المجهولة بحيث يمكن تعريف الدوال وتمريرها بسهولة مثل أنواع البيانات الأخرى.
| لغة | يدعم | ملحوظات |
|---|---|---|
| أكشن سكريبت | ||
| آدا | تُعد وظائف التعبير جزءًا من Ada2012، الوصول إلى البرامج الفرعية [ 4 ] | |
| ALGOL 68 | ||
| APL | تدعم لغات البرمجة Dyalog و ngn و dzaima APL بشكل كامل كلاً من الدوال المعرفة بالأسماء (dfns) والدوال الضمنية (tacip). أما لغة GNU APL فتدعم الدوال المعرفة بالأسماء (dfns) بشكل محدود. | |
| لغات التجميع | ||
| AHK | منذ الإصدار الثاني من AutoHotkey، يتم دعم الدوال المجهولة بصيغة مشابهة لـ JavaScript. | |
| سحق | تم إنشاء مكتبة لدعم الوظائف المجهولة في Bash. [ 5 ] | |
| ج | يُوفّر الدعم في Clang ومع مكتبة LLVM compiler-rt. كما يُوفّر دعم GCC لتنفيذ الماكرو الذي يُتيح إمكانية الاستخدام. انظر أدناه لمزيد من التفاصيل. | |
| سي شارب | [ 6 ] | |
| لغة سي++ | وفقًا لمعيار C++11 | |
| CFML | اعتبارًا من Railo 4، [ 7 ] ColdFusion 10 [ 8 ] | |
| كلوجر | [ 9 ] | |
| كوبول | تدعم لغة البرمجة غير القياسية Managed COBOL من Micro Focus الدوال المجهولة (lambda)، والتي تسمى المندوبين/الأساليب المجهولة. [ 10 ] | |
| حليقة | ||
| د | [ 11 ] | |
| دارت | [ 12 ] | |
| دلفي | [ 13 ] | |
| ديلان | [ 14 ] | |
| إيفل | ||
| إلم | [ 15 ] | |
| إكسير | [ 16 ] | |
| إرلانج | [ 17 ] | |
| فا# | [ 18 ] | |
| إكسل | وظيفة ورقة عمل Excel، الإصدار التجريبي لعام 2021 [ 19 ] | |
| عامل | "الاقتباسات" تدعم هذا [ 20 ] | |
| فورتران | ||
| فرينك | [ 21 ] | |
| يذهب | [ 22 ] | |
| جوسو | [ 23 ] | |
| رائع | [ 24 ] | |
| هاسكل | [ 25 ] | |
| هاكس | [ 26 ] | |
| جافا | مدعوم منذ Java 8 . | |
| جافا سكريبت | [ 27 ] | |
| جوليا | [ 28 ] | |
| كوتلين | [ 29 ] | |
| التلعثم | ||
| لغة الاتصال | ||
| لغة لوا | [ 30 ] | |
| النكاف | ||
| خشب القيقب | [ 31 ] | |
| MATLAB | [ 32 ] | |
| ماكسيما | [ 33 ] | |
| نيم | [ 34 ] | |
| أوكاميل | [ 35 ] | |
| أوكتاف | [ 36 ] | |
| أوبجكت باسكال | تدعم لغة دلفي، وهي لهجة من لغة أوبجكت باسكال، الدوال المجهولة (بشكل رسمي، الطرق المجهولة ) بشكل أصلي منذ إصدار دلفي 2009. كما تدعمها لهجة أوكسيجين أوبجكت باسكال أيضًا. | |
| Objective-C (Mac OS X 10.6+) | تسمى الكتل ؛ بالإضافة إلى Objective-C، يمكن أيضًا استخدام الكتل في C و C++ عند البرمجة على منصة Apple. | |
| أوبن سكا | تم تقديم دعم الدوال الحرفية مع الإصدار 2021.01. [ 37 ] | |
| باسكال | ||
| بيرل | [ 38 ] | |
| PHP | ابتداءً من الإصدار 5.3.0 من PHP، أصبح استخدام الدوال المجهولة الحقيقية مدعومًا. [ 39 ] سابقًا، كان الدعم مقتصرًا على الدوال المجهولة الجزئية، والتي كانت تعمل بشكل مشابه لتطبيق لغة C#. | |
| PL/I | ||
| بايثون | يدعم بايثون الدوال المجهولة من خلال بناء جملة لامدا، [ 40 ] والتي تدعم التعبيرات فقط، وليس العبارات. | |
| R | ||
| مضرب | [ 41 ] | |
| راكو | [ 42 ] | |
| ريكس | ||
| لعبة تقمص الأدوار | ||
| روبي | تُسمى الدوال المجهولة في لغة روبي، الموروثة من لغة سمول توك ، بالكتل . [ 43 ] | |
| الصدأ | [ 44 ] | |
| سكالا | [ 45 ] | |
| مخطط | ||
| أحاديث قصيرة | تُسمى الدوال المجهولة في لغة سمول توك بالكتل . | |
| لغة الآلة القياسية | [ 46 ] | |
| سويفت | تُسمى الدوال المجهولة في لغة Swift بالدوال المغلقة. [ 47 ] | |
| تايب سكريبت | [ 48 ] | |
| كاتب | [ 49 ] | |
| تي سي إل | [ 50 ] | |
| فالا | [ 50 ] | |
| فيجوال بيسك دوت نت الإصدار 9 | [ 51 ] | |
| Visual Prolog الإصدار 7.2 | [ 52 ] | |
| لغة وولفرام | [ 53 ] | |
| زيج | [ 54 ] |
أمثلة
انظر أيضاً
مراجع
- ↑ "الدوال ذات الرتبة العليا" . learnyouahaskell.com . تم الاطلاع عليه بتاريخ 3 ديسمبر 2014 .
- ↑ فرنانديز، ماريبيل (2009)، نماذج الحوسبة: مقدمة في نظرية الحوسبة ، مواضيع جامعية في علوم الحاسوب، سبرينغر ساينس آند بيزنس ميديا، ص 33، ISBN 9781848824348تم تقديم حساب لامدا
... من قبل ألونسو تشيرش في ثلاثينيات القرن العشرين كتدوين دقيق لنظرية الدوال المجهولة
- ↑ "تعبيرات دالة السهم - جافا سكريبت" . MDN . تم الاطلاع عليه بتاريخ 21 أغسطس 2019 .
- ↑ "أنواع الوصول" . www.adaic.org . تم الاطلاع عليه بتاريخ 27-06-2024 .
- ↑ "Bash lambda" . GitHub . 2019-03-08.
- ↑ بيل واغنر. "تعبيرات لامدا - مرجع لغة سي شارب" . docs.microsoft.com . تم الاطلاع عليه بتاريخ 24-11-2020 .
- ↑ "دعم الإغلاق" . مؤرشف من الأصل بتاريخ 2014-01-06 . تم الاسترجاع بتاريخ 2014-01-05 .
- ↑ "ما الجديد في ColdFusion 10" . مؤرشف من الأصل بتاريخ 2014-01-06 . تم الاطلاع عليه بتاريخ 2014-01-05 .
- ↑ "كلوجر - الدوال ذات الرتبة العليا" . clojure.org . تم الاطلاع عليه بتاريخ 14 يناير 2022 .
- ↑ "مرجع لغة كوبول المُدارة" . وثائق مايكرو فوكس . مايكرو فوكس . تم الاطلاع عليه بتاريخ 25 فبراير 2014 .
{{cite web}}: CS1 maint: deprecated archiveal service ( link ) - ↑ "الدوال - لغة البرمجة D" . dlang.org . تم الاطلاع عليه بتاريخ 14 يناير 2022 .
- ↑ "جولة في لغة دارت" . dart.dev . تم الاطلاع عليه بتاريخ 24-11-2020 .
- ↑ "الأساليب المجهولة في دلفي - استوديو RAD" . docwiki.embarcadero.com . تم الاطلاع عليه بتاريخ 24-11-2020 .
- ↑ "الدوال - برمجة ديلان" . opendylan.org . تم الاطلاع عليه بتاريخ 14 يناير 2022 .
- ↑ "docs/syntax" . elm-lang.org . تم الاطلاع عليه بتاريخ 14 يناير 2022 .
- ↑ "قواعد لغة إرلانج/إليكسير: دورة مكثفة" . elixir-lang.github.com . تم الاطلاع عليه بتاريخ 24 نوفمبر 2020 .
- ↑ "Erlang -- Funs" . erlang.org . تم الاطلاع عليه بتاريخ 24-11-2020 .
- ↑ كارترمب. "تعبيرات لامدا: الكلمة المفتاحية الممتعة - F#" . docs.microsoft.com . تم الاسترجاع في 24 نوفمبر 2020 .
- ↑ "دالة لامدا: أفضل دالة في جداول بيانات إكسل" . microsoft.com . 25 يناير 2021. تاريخ الاسترجاع: 30 مارس 2021 .
- ↑ "الاقتباسات - توثيق العامل" . تم الاطلاع عليه بتاريخ 26 ديسمبر 2015.
الاقتباس هو دالة مجهولة (قيمة تشير إلى جزء من التعليمات البرمجية) يمكن استخدامها كقيمة واستدعاؤها باستخدام مُركِّبات Fundamental.
- ↑ "Frink" . frinklang.org . تم الاطلاع عليه بتاريخ 24-11-2020 .
- ↑ "الدوال المجهولة في لغة غولانغ" . وثائق غولانغ . 9 يناير 2020. تم الاطلاع عليه بتاريخ 24 نوفمبر 2020 .
- ↑ "وثائق غوسو" (ملف PDF) . تم الاطلاع عليه بتاريخ 4 مارس 2013 .
- ↑ "توثيق Groovy" . مؤرشف من الأصل في 22 مايو 2012. تم الاطلاع عليه في 29 مايو 2012 .
- ↑ "دالة مجهولة - هاسكل ويكي" . wiki.haskell.org . تم الاطلاع عليه بتاريخ 14 يناير 2022 .
- ↑ "لامدا" . هاكس - مجموعة أدوات متعددة المنصات . تم الاسترجاع في 14 يناير 2022 .
- ↑ "الدوال - جافا سكريبت | MDN" . developer.mozilla.org . تم الاطلاع عليه بتاريخ 14 يناير 2022 .
- ↑ "الدوال · لغة جوليا" . docs.julialang.org . تم الاطلاع عليه بتاريخ 24-11-2020 .
- ↑ "الدوال ذات الرتبة العليا وتعبيرات لامدا - لغة برمجة كوتلن" . كوتلن . تم الاطلاع عليه بتاريخ 24-11-2020 .
- ↑ "البرمجة بلغة لوا : 6" . www.lua.org . تم الاطلاع عليه بتاريخ 24-11-2020 .
- ↑ "برمجة مابل: 1.6: الدوال والتعبيرات المجهولة - مركز التطبيقات" . www.maplesoft.com . تاريخ الاسترجاع: 24 نوفمبر 2020 .
- ↑ "الدوال المجهولة - MATLAB و Simulink" . www.mathworks.com . تاريخ الاسترجاع: 14 يناير 2022 .
- ↑ "دليل ماكسيما 5.17.1: 39. تعريف الدالة" . maths.cnam.fr . تم الاطلاع عليه بتاريخ 24-11-2020 .
- ↑ "دليل لغة نيم" . nim-lang.github.io .
- ↑ "أمثلة برمجية - OCaml" . ocaml.org . تم الاطلاع عليه بتاريخ 24-11-2020 .
- ↑ "GNU Octave: Anonymous Functions" . octave.org . تم الاطلاع عليه بتاريخ 24-11-2020 .
- ↑ "القيم الحرفية للدوال" . دليل مستخدم OpenSCAD . ويكي بوكس . تم الاطلاع عليه بتاريخ 22 فبراير 2021 .
- ↑ "perlsub - إجراءات فرعية في لغة بيرل - متصفح بيرلدوك" . perldoc.perl.org . تم الاطلاع عليه بتاريخ 24-11-2020 .
- ↑ "PHP: الدوال المجهولة - دليل المستخدم" . www.php.net . تاريخ الاسترجاع: 24-11-2020 .
- ↑ "6. التعبيرات — وثائق بايثون 3.9.0" . docs.python.org . تم الاطلاع عليه بتاريخ 24-11-2020 .
- ↑ "4.4 الدوال: لامدا" . docs.racket-lang.org . تم الاطلاع عليه بتاريخ 24-11-2020 .
- ↑ "الدوال" . docs.raku.org . تم الاطلاع عليه بتاريخ 14 يناير 2022 .
- ↑ سوسينسكي، روبرت (21-12-2008). "فهم كتل روبي، والإجراءات، وتعبيرات لامدا" . Reactive.IO. مؤرشف من الأصل في 31-05-2014 . تم الاطلاع عليه في 30-05-2014 .
- ↑ "الإغلاقات: الدوال المجهولة التي يمكنها التقاط بيئتها - لغة برمجة Rust" . doc.rust-lang.org . تم الاطلاع عليه بتاريخ 14 يناير 2022 .
- ↑ "الدوال المجهولة" . وثائق سكالا . تم الاطلاع عليه بتاريخ 14 يناير 2022 .
- ↑ "المراجعة الثالثة: الدوال ذات الرتبة العليا" . www.cs.cornell.edu . تم الاطلاع عليه بتاريخ 14 يناير 2022 .
- ↑ "الإغلاقات - لغة برمجة سويفت (سويفت 5.5)" . docs.swift.org .
- ↑ "التوثيق - أنواع يومية" . www.typescriptlang.org . تم الاطلاع عليه بتاريخ 14 يناير 2022 .
- ↑ "نوع الدالة - وثائق Typst" . typst.app . تم الاطلاع عليه بتاريخ 10-09-2024 .
- 1 2 "Projects/Vala/Tutorial - GNOME Wiki!" . wiki.gnome.org . تم الاطلاع عليه بتاريخ 24-11-2020 .
- ↑ كاثلين دولارد (15 سبتمبر 2021). "تعبيرات لامدا - فيجوال بيسك" . docs.microsoft.com . تم الاطلاع عليه بتاريخ 14 يناير 2022 .
- ↑ "مرجع اللغة/المصطلحات/المسندات المجهولة - wiki.visual-prolog.com" . wiki.visual-prolog.com . تم الاطلاع عليه بتاريخ 14 يناير 2022 .
- ↑ "الدالة المجهولة البحتة: مقدمة أساسية إلى لغة وولفرام" . www.wolfram.com . تم الاطلاع عليه بتاريخ 14 يناير 2022 .
- ↑ "اللامدا، والإغلاقات، وكل ما بينهما · العدد رقم 1048 · ziglang/zig" . GitHub . تم الاطلاع عليه بتاريخ 21 أغسطس 2023 .
روابط خارجية
- الأساليب المجهولة - متى ينبغي استخدامها؟ (مدونة حول الدوال المجهولة في دلفي)
- تجميع تعابير لامدا: سكالا مقابل جافا 8
- دوال PHP المجهولة
- وظائف لامدا في لغات البرمجة المختلفة
- الدوال في لغة Go
- أنواع البيانات
- البرمجة الوظيفية
- حساب التفاضل والتكامل لامدا
- البرامج الفرعية
