وثائق نسخة التطويرقد تصف ميزات لم تصدر بعد.

التصريح والاستدعاء

يبدأ تعريف الدالة بكلمة دالة ثم اسمها. أضف تستقبل عندما تحتاج إلى معاملات، وافصل بينها بواو مستقلة أو بفاصلة.

دالة الاسم الجملدالة الاسم تستقبل المعامل الجملدالة الاسم تستقبل الأول و الثاني الجملالاسم(الوسائط)

دالة تعيد قيمة

الشيفرة(زيد)
دالة ضعف تستقبل العدد  أرجع العدد ضرب 2اطبع ضعف(21)
النتيجة
42

عند الاستدعاء، تُربط قيمة الوسيط بالمعامل. وتنهي أرجع تنفيذ الدالة وتُعيد القيمة إلى موضع الاستدعاء.

  • تدلّ الأقواس على أن الاسم استدعاء لدالة، وهي مطلوبة حتى إذا لم تستقبل الدالة معاملات.
  • تُقيَّم الوسائط بحسب ترتيبها في الشيفرة، ويجب أن يطابق عددها عدد المعاملات.
  • تسجّل لغة زيد جميع الدوال قبل تنفيذ الجمل العادية؛ لذلك يمكن استدعاء دالة قبل موضع تعريفها، كما يمكن لدالتين أن تستدعي إحداهما الأخرى.

إرجاع قيمة

تنهي أرجع التعبير الاستدعاء الحالي فورًا وتُعيد القيمة إلى موضع الاستدعاء. وإذا كتبت أرجع من دون تعبير، أو انتهى جسم الدالة من دون إرجاع، تكون النتيجة عدم.

تحديد سعر التذكرة

الشيفرة(زيد)
دالة سعر التذكرة تستقبل العمر  إذا كان العمر أصغر من 6 إذن    أرجع 0  إذا كان العمر أصغر من 18 إذن    أرجع 5  أرجع 10اطبع سعر التذكرة(12)
النتيجة
5

تنهي كل جملة أرجع الاستدعاء فورًا. ولأن العمر 12، يتجاوز التنفيذ الفرع الأول ويعيد الفرع الثاني القيمة 5.

النطاق المحلي

ينشئ كل استدعاء للدالة نطاقًا محليًا مستقلًا يضم المعاملات والمتغيّرات ومتغيّرات الحلقات. تستطيع الدالة قراءة الثوابت والدوال المعرّفة في المستوى الأعلى، لكنها لا تستطيع قراءة متغيّر قابل للتغيير من هناك مباشرةً؛ مرّر قيمته إليها في معامل.

ما الذي تراه الدالة؟

الشيفرة(زيد)
ثابت رسوم الخدمة يساوي 15اجعل السعر الأساسي يساوي 100دالة احسب السعر النهائي تستقبل السعر  اجعل المجموع يساوي السعر زائد رسوم الخدمة  أرجع المجموعاطبع احسب السعر النهائي(السعر الأساسي)اطبع السعر الأساسي
النتيجة
115100

السعر الأساسي متغيّر في المستوى الأعلى، لذلك تُمرَّر قيمته إلى الدالة في المعامل السعر. تقرأ الدالة الثابت رسوم الخدمة مباشرةً. أمّا المجموع فمتغيّر محلي لا يمكن استعماله خارج الاستدعاء، وتبقى قيمة السعر الأساسي 100.

  • تستطيع الدالة قراءة الثوابت والدوال المعرّفة في المستوى الأعلى.
  • مرّر قيمة المتغيّر المعرّف في المستوى الأعلى إلى الدالة في معامل عندما تحتاج إليها.
  • الاسم الذي تعرّفه داخل الدالة يبقى داخل ذلك الاستدعاء؛ لا تستطيع الشيفرة خارج الدالة قراءته بعد انتهاء الاستدعاء.
  • إذا مرّرت قائمةً أو قاموسًا إلى دالة، تتعامل الدالة مع القيمة الأصلية نفسها؛ لذلك تستطيع دالة منتهية بـ ! تعديلها.

الاستدعاء الذاتي

تستطيع الدالة استدعاء نفسها، كما يمكن لدالتين أن تتبادلا الاستدعاء. احرص على وجود حالة توقف واضحة؛ فكل استدعاء ينتظر اكتمال الاستدعاء الذي يليه، وتضع بيئة التنفيذ حدًا لعدد الاستدعاءات المتداخلة.

دالة ذاتية(زيد)
دالة المضروب تستقبل العدد  إذا كان العدد أصغر من أو يساوي 1 إذن    أرجع 1  أرجع العدد ضرب المضروب(العدد ناقص 1)
زيد — لغة برمجة عربية أصيلةMPL-2.0

البحث في توثيق زيد

ابدأ بكتابة كلمة أو اسم بناء مثل «لكل».