الدوال
منقول من الكتاب المرجعي: docs/handbook/language/05-functions.md · الإيداع 7a52f6c
القاعدة. داله الاسم(المعامل النوع, ...) نوع_الإرجاع: ثم الجسم. نوع الإرجاع فراغ لدالة لا ترجع قيمة. الدالة في
المستوى الأعلى وحده (لا دوال متداخلة)، وتُستدعى بعد تعريفها في الملف. كل مسار في دالة لها نوع إرجاع ينتهي بـارجع،
وإلا تحذير عند الترجمة وخطأ تشغيل إن بلغ النهاية.
- معامل نوعه صنف بلا عناصر (
ق قائمة) يجعل الدالة عامة: تُنسخ لكل نوع وسيط تُستدعى به. - المعاملات بالقيمة كما الإسناد: القائمة والقاموس مرجعيان، والهيكل والمصفوفة يُنسخان.
- آخر معامل من النوع
مخصصيجوز تركه: يُمرَّر الافتراضي (الذاكرة: المخصصات وخاتمه). - العودية مسموحة؛ امتلاء المكدس خطأ تشغيل لا انهيار.
- مؤشر الدالة (منذ 0.7.0): النوع
داله(عدد) عدد، والقيمة اسم دالة معرَّفة بلا أقواس، ويُستدعى باسم متغير أو معامل، أو بتعبير (منذ 0.8.0):ق0 <small>(وثيقة في مستودع المجمّع)</small>،ع.ف(س)،اختر(1)(9). خطر دالهدالة جسمها منطقة خطرة (الطبقة المنخفضة: خطر والشرائح والمؤشرات).
داله اكبر_عنصر(ق قائمة) عدد: اكبر = ق[0] لكل ع في ق: اذا ع > اكبر: اكبر = ع ارجع اكبر
داله ضاعف(س عدد) عدد: ارجع س * 2
داله طبّق(ف داله(عدد) عدد, س عدد) عدد: ارجع ف(س)
داله مضروب(ن عدد) عدد: اذا ن <= 1: ارجع 1 ارجع ن * مضروب(ن - 1)
اطبع(اكبر_عنصر([3, 9, 2]), " ", طبّق(ضاعف, 21), " ", مضروب(10))واستدعاء التعبير (منذ 0.8.0): عنصر قائمة من الدوال، وحقل من نوع داله، ونتيجة دالة ترجع دالة:
داله ضعف(س عدد) عدد: ارجع س * 2
داله مربع(س عدد) عدد: ارجع س * س
هيكل عملية: اسم نص ف داله(عدد) عدد
داله اختر(ي عدد) داله(عدد) عدد: اذا ي == 0: ارجع ضعف ارجع مربع
ق قائمة[داله(عدد) عدد] = [ضعف, مربع]ع = عملية("مربع", مربع)اطبع(ق[0](5), " ", ع.ف(7), " ", اختر(1)(9))القيود المعروفة. لا قيم افتراضية للمعاملات (إلا المخصص الأخير)، ولا وسائط مسمّاة (إلا لإنشاء الهياكل). لا إغلاقات.
ومؤشر الدالة لا يرجع !ن (بعد 1.0).
أخطاء محتملة.
اطبع(ضعف(2))داله ضعف(س عدد) عدد: ارجع س * 2رمز الخروج: 2
في فهرس الأخطاء: E0125