Skip to content

الدوالُّ

هدفُك: أن تُسمّيَ عملًا وتُعيدَ استعمالَه.

القاعدةُ المُعلَنة: gr.decl.function.

عرِّفْ دالّةً واستدعِها

sad
دالة مساحة(الطول، العرض)
    ارجع الطول * العرض
نهاية

متغير م = مساحة(6، 4)
اطبع_سطر("المساحة: " + نص(م))
المساحة: 24

دالة تفتحُ الكتلة، ونهاية تُغلِقُها، وارجع تُرجِعُ القيمة. والفاصلةُ بينَ المعاملاتِ عربيّة: ،.

دالّةٌ لا تُرجِعُ شيئًا

sad
دالة اطبع_فاصلًا()
    اطبع_سطر("————")
نهاية

اطبع_سطر("أعلى")
اطبع_فاصلًا()
اطبع_سطر("أسفل")
أعلى
————
أسفل

ارجع ليست لازمة. والدالّةُ بلا إرجاعٍ تُستدعى جملةً قائمةً بنفسِها.

معاملٌ بقيمةٍ افتراضيّة

sad
دالة حيِّ(اسم، تحية = "أهلًا")
    ارجع تحية + " يا " + اسم
نهاية

اطبع_سطر(حيِّ("سالم"))
اطبع_سطر(حيِّ("سالم"، "مرحبًا"))
أهلًا يا سالم
مرحبًا يا سالم

اذكُرْ نوعَ المعاملِ إن شئت

النوعُ يسبقُ اسمَ المعامل:

sad
دالة مربع(رقم س)
    ارجع س * س
نهاية
اطبع_سطر(مربع(6))
36

إرجاعٌ مبكِّر

sad
دالة الأكبر(أ، ب)
    إذا (أ > ب)
        ارجع أ
    نهاية
    ارجع ب
نهاية
اطبع_سطر(الأكبر(9، 4))
9

دالّةٌ تستدعي دالّة — والتعاوديّة

sad
دالة ضعف(س)
    ارجع س * 2
نهاية
دالة أربعة_أضعاف(س)
    ارجع ضعف(ضعف(س))
نهاية
اطبع_سطر(أربعة_أضعاف(3))
12

والتعاوديّةُ تعملُ كذلك:

sad
دالة عاملي(ن)
    إذا (ن <= 1)
        ارجع 1
    نهاية
    ارجع ن * عاملي(ن - 1)
نهاية
اطبع_سطر(عاملي(5))
120

الترتيبُ لا يهمّ

مقيسٌ: استدعاءُ دالّةٍ قبلَ موضعِ تعريفِها في الملفِّ يُترجَمُ ويعمل.

sad
اطبع_سطر(ضعف(4))
دالة ضعف(س)
    ارجع س * 2
نهاية
8

إن أخطأتَ اسمَ الدالّة

error: [SEM004] (AR) الدالة 'احسب' غير معرَّفة
  → عرّف الدالة قبل استدعائها، أو استورد الوحدة المناسبة. مثال: استورد رياضيات، ثم رياضيات.جذر(9).

عددُ الوسائطِ غيرُ محروسٍ اليوم

مقيسٌ: دالّةٌ بمعاملَين استُدعيت بوسيطٍ واحدٍ تُرجَمت وعملت بلا شكوى. فلا تعتمدْ على المترجِّمِ في ضبطِ عددِ الوسائط — تحقّقْ بنفسِك.

ثمّ

مُرخَّص بموجب رخصة MIT