لبات ASPLلبات 0.7.0

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

يبدأ البحث بالتوثيق الحالي بالعربية · لبات 0.7.0

اكتب اسما كاملا مثل read_line أو كلمات عن الموضوع.

    English
    ملفات المصدر

    افتح ملف .aspl أو .لبات بترميز UTF-8، حتى 1 MiB، في مسودة جديدة. يبقى الملف في هذا المتصفح ولا يُشغّل تلقائياً.

    الدوال

    لبات 0.7.0 · الإصدار الحالي

    استدع دالة مضاعفة مساعدة بأنواع صريحة وميز قيمتها المرجعة عن حالة العملية.

    محتويات الصفحة

    ما ستتعلمه

    ستعرف دالة مساعدة في المستوى الأعلى بأنواع صريحة، وتمرر وسيطا، وتتتبع القيمة المرجعة، وتشرح اختلافها عن حالة عملية البرنامج.

    قبل أن تبدأ

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

    عرف دالة مساعدة واستدعها

    تصرح دالة / fn بدالة. تقع الدالة المساعدة ضاعف في المستوى الأعلى، خارج دالة الدخول وكل جسم دالة أخرى. يسمي المعامل قيمة: ص64 / value: i64 عددا صحيحا واردا. يعد السهم ونوع النتيجة -> ص64 / -> i64 بإرجاع عدد صحيح. تحتوي الأقواس المعقوفة تعليمات الدالة المساعدة، وترسل أرجع / return قيمة إلى المستدعي وتنهي هذا الاستدعاء.

    ضاعف(6) استدعاء. يقدم الوسيط 6 قيمة المعامل لهذا الاستدعاء. تمرر الوسائط بالقيمة. داخل الدالة المساعدة تحسب قيمة * 2 العدد 12، ثم ترسله تعليمة الإرجاع إلى موضع الاستدعاء. يخزنه المستدعي في الارتباط الثابت نتيجة_الحساب. يجب أن يقدم الاستدعاء عدد الوسائط وأنواعها كما يحددها التصريح.

    المتصفح والمضيف الأصلي · لبات 0.7.0 · مصدر عربي

    التنفيذ: المتصفح والمضيف الأصلي · لبات 0.7.0

    المتطلبات السابقة:
    • اقرأ شرح المثال في الدرس المرتبط قبل التشغيل.

    الإدخال: لا يحتاج إلى أسطر إدخال.

    دالة ضاعف(قيمة: ص64) -> ص64 {
        أرجع قيمة * 2.
    }
    
    دالة ابدأ_الرئيسية() -> ص64 {
        دع نتيجة_الحساب = ضاعف(6).
        اطبع(نسق_ص64(نتيجة_الحساب) + "\س").
        أرجع 0.
    }
    
    تنزيل درس-الدوال.لبات

    النتائج المتوقعة
    {
      "browser": {
        "check": "success",
        "class": "success",
        "output": "12\n",
        "processStatus": 0
      },
      "native": {
        "check": 0,
        "status": 0,
        "output": "12\n"
      }
    }

    يبدأ التنفيذ عند دالة الدخول المحجوزة ابدأ_الرئيسية() -> ص64 / start_main() -> i64، لا عند أول تصريح بدالة مساعدة. لا ينفذ تعريف ضاعف وحده جسمها. يدخلها الاستدعاء مؤقتا ثم يستأنف التنفيذ في دالة الدخول. تحول نسق_ص64 / format_i64 قيمة نتيجة_الحساب إلى نص، وتكتبها اطبع / print متبوعة بنهاية السطر الصريحة \س.

    ترجع الدالة المساعدة 12 إلى مستدعيها. تطبع دالة الدخول 12\n حرفيا، ثم تعطي أرجع 0 / return 0 الخاصة بها حالة عملية طبيعية 0. لا تطبع قيمة الدالة المساعدة تلقائيا ولا تحدد حالة العملية. إرجاع ضاعف(6) مباشرة من دالة الدخول يعطي بدلا من ذلك الحالة 12، ولا ينتج خرجا دون الطباعة.

    تتبع القيمة المرجعة

    توقع نتيجة الدالة المساعدة والخرج المرئي وحالة العملية كل منها على حدة.

    الاستدعاء في دالة الدخول المعامل قيمة نتيجة الدالة المساعدة الخرج المطبوع الحرفي حالة الدخول
    ضاعف(6) 6 12 12\n 0
    ضاعف(9) 9 18 18\n 0

    يغير الوسيط الجديد الحساب والبيانات المطبوعة. لا يغير تعليمة الإرجاع الأخيرة في دالة الدخول.

    غير الوسيط

    غير ضاعف(6) فقط إلى ضاعف(9). الخرج المتوقع هو 18\n حرفيا، والحالة الطبيعية 0.

    استدع ضاعف بالوسيط 9. اشرح نتيجة الدالة المساعدة والخرج المطبوع وحالة العملية.

    تلميح: غير الوسيط في موضع الاستدعاء. أبق الضرب في 2 وتعليمة أرجع 0 الأخيرة في دالة الدخول.

    اعرض الإجابة المشروحة

    يتلقى المعامل 9. ترجع الدالة المساعدة 9 * 2، وهو 18، وتخزن دالة الدخول هذه القيمة في نتيجة_الحساب. ينتج التنسيق والطباعة 18 ثم نهاية سطر واحدة. ما زالت دالة الدخول ترجع 0، فتبقى حالة العملية 0.

    المتصفح والمضيف الأصلي · لبات 0.7.0 · مصدر عربي

    التنفيذ: المتصفح والمضيف الأصلي · لبات 0.7.0

    المتطلبات السابقة:
    • اقرأ شرح المثال في الدرس المرتبط قبل التشغيل.

    الإدخال: لا يحتاج إلى أسطر إدخال.

    دالة ضاعف(قيمة: ص64) -> ص64 {
        أرجع قيمة * 2.
    }
    
    دالة ابدأ_الرئيسية() -> ص64 {
        دع نتيجة_الحساب = ضاعف(9).
        اطبع(نسق_ص64(نتيجة_الحساب) + "\س").
        أرجع 0.
    }
    
    تنزيل درس-الدوال-حل.لبات

    النتائج المتوقعة
    {
      "browser": {
        "check": "success",
        "class": "success",
        "output": "18\n",
        "processStatus": 0
      },
      "native": {
        "check": 0,
        "status": 0,
        "output": "18\n"
      }
    }

    أرجع قيمة في كل مسار مطلوب

    يجب أن ترجع الدالة ذات النتيجة غير الوحدة قيمة من ذلك النوع في كل مسار مطلوب. تحتوي دالتنا المساعدة تعليمة إرجاع واحدة غير مشروطة. إذا استخدمت إذا ووإلا، يجب أن يرجع كل بديل قابل للوصول قيمة أو يصل إلى تعليمة إرجاع لاحقة. لا يقدم قوس الإغلاق قيمة عدد صحيح ضمنية.

    ترجع هذه الدالة المساعدة المعطوبة عمدا قيمة للأعداد الموجبة فقط. رغم أن دالة الدخول تستدعيها بالوسيط 6، يمكن أن يصل مسارا الصفر والأعداد السالبة إلى نهاية الجسم دون إرجاع. يبلغ الفحص عن missing-return قبل أي تنفيذ للبرنامج. يبلغ التشغيل عن خطأ المصدر نفسه، دون خرج أو حالة عملية.

    المتصفح والمضيف الأصلي · لبات 0.7.0 · مصدر عربي

    التنفيذ: المتصفح والمضيف الأصلي · لبات 0.7.0

    المتطلبات السابقة:
    • اقرأ شرح المثال في الدرس المرتبط قبل التشغيل.

    الإدخال: لا يحتاج إلى أسطر إدخال.

    دالة ضاعف(قيمة: ص64) -> ص64 {
        إذا قيمة > 0 {
            أرجع قيمة * 2.
        }
    }
    
    دالة ابدأ_الرئيسية() -> ص64 {
        دع نتيجة_الحساب = ضاعف(6).
        اطبع(نسق_ص64(نتيجة_الحساب) + "\س").
        أرجع 0.
    }
    
    تنزيل درس-دوال-دون-إرجاع.لبات

    النتائج المتوقعة
    {
      "browser": {
        "check": "source-error",
        "class": "source-error",
        "output": "",
        "reason": "missing-return"
      },
      "native": {
        "check": 1,
        "status": 1,
        "output": "",
        "reason": "missing-return"
      }
    }

    أعد تعليمة أرجع قيمة * 2 غير المشروطة كما في نسخة البداية لتشمل كل المدخلات. تطبع نسخة البداية الكاملة المصححة 12\n وترجع الحالة 0. اقرأ مرجع الدوال للقواعد الكاملة.

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

    يمكن للدالة المساعدة استدعاء نفسها. يحسب مثال المضروب الموجود مضروب 5 بالاستدعاء الذاتي فيحصل على 120، ويتوقف عند قيمة 1 أو أقل. ترجع دالة دخوله تلك النتيجة مباشرة. لا يطبع شيئا وينتهي بحالة عملية 120. هذا العدد ليس خرجا مطبوعا ولا درجة اختبار. يمكنك تأجيل الاستدعاء الذاتي إلى وقت لاحق.

    تحقق من فهمك

    حدد التصريح والمعامل والوسيط والاستدعاء وتعليمتي الإرجاع. تتبع أين تذهب 12 بعد رجوع الدالة المساعدة، ولماذا تبقى حالة الدخول 0. قارن الوسيط المعدل بتوقعك بعد اختيار التشغيل صراحة. لا يحفظ التحقق الذاتي درجة أو تقدما وتبقى كل الدروس مفتوحة. عد إلى مسار الدروس.

    تصفح الصفحات