Skip to content

الدوال

تعريف دالة

sad
دالة جمع(أ، ب)
  ارجع أ + ب
نهاية

متغير ناتج = جمع(3، 5)
اطبع(ناتج)  # 8

الوسائط الافتراضية

sad
دالة رحّب(اسم، تحية = "مرحباً")
  اطبع_سطر(تحية + " يا " + اسم + "!")
نهاية

رحّب("أحمد")            # مرحباً يا أحمد!
رحّب("سارة"، "أهلاً")   # أهلاً يا سارة!

الدوال المجهولة (لامدا)

sad
متغير مربع = لامدا(س) ارجع س * س نهاية

اطبع(مربع(4))   # 16
اطبع(مربع(7))   # 49
sad
# لامدا متعددة الأسطر
متغير مرشّح = لامدا(قائمة، شرط)
  متغير نتيجة = []
  لكل عنصر في قائمة
    إذا (شرط(عنصر))
      نتيجة.أضف(عنصر)
    نهاية
  نهاية
  ارجع نتيجة
نهاية

متغير أرقام = [1، 2، 3، 4، 5، 6، 7، 8، 9، 10]
متغير زوجية = مرشّح(أرقام، لامدا(ن) ارجع ن % 2 == 0 نهاية)
اطبع(زوجية)  # [2، 4، 6، 8، 10]

الدوال كقيم

sad
دالة نفّذ_دالتين(د1، د2، قيمة)
  ارجع د2(د1(قيمة))
نهاية

دالة ضاعف(ن)  ارجع ن * 2  نهاية
دالة أضف_عشرة(ن)  ارجع ن + 10  نهاية

اطبع(نفّذ_دالتين(ضاعف، أضف_عشرة، 5))  # 20

الدوال المتكررة (Recursive)

sad
دالة عاملي(ن)
  إذا (ن <= 1)
    ارجع 1
  نهاية
  ارجع ن * عاملي(ن - 1)
نهاية

اطبع(عاملي(5))   # 120
اطبع(عاملي(10))  # 3628800

الدوال غير المتزامنة

sad
غير_متزامن دالة جلب_بيانات(رابط)
  متغير رد = انتظر طلب_http(رابط)
  ارجع رد.النص()
نهاية

غير_متزامن دالة الرئيسية()
  متغير بيانات = انتظر جلب_بيانات("https://api.example.com/data")
  اطبع_سطر(بيانات)
نهاية

إرجاع قيم متعددة

sad
دالة قسمة_مع_باقي(أ، ب)
  ارجع [أ / ب، أ % ب]
نهاية

متغير نتائج = قسمة_مع_باقي(17، 5)
اطبع("الحاصل: " + نتائج[0])  # 3
اطبع("الباقي: " + نتائج[1])  # 2

التالي: التحكم في التدفق ←

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