لبات ASPLلبات 0.7.0

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

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

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

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

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

    السجلات

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

    أنشئ حقول سؤال مسماة، واستخدم نوعا مشتركا، وغير نسخة مستقلة.

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

    ما الذي ستتعلمه

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

    قبل أن تبدأ

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

    أعط السؤال حقولا مسماة

    يعرف تصريح سجل / record على مستوى الملف النوع المسمى سؤال. حقلاه سؤال_نصي: نص / prompt: string وجواب: ص64 / answer: i64، وتفصل بينهما فاصلة. نص السؤال سلسلة نصية؛ والجواب عدد صحيح. الأسماء سؤال وسؤال_نصي وجواب أسماء مستخدم عربية في المصدر العربي؛ يقابلها Question وprompt وanswer في المصدر الإنجليزي.

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

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

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

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

    سجل سؤال { سؤال_نصي: نص, جواب: ص64 }
    دالة ابدأ_الرئيسية() -> ص64 {
        دع أول: سؤال = سؤال { سؤال_نصي: "2 + 3?", جواب: 5 }.
        دع ثان: سؤال = سؤال { سؤال_نصي: "3 * 4?", جواب: 12 }.
        دع أسئلة: قائمة<سؤال> = [أول, ثان].
        متغير منسوخ: سؤال = أسئلة[0].
        منسوخ::جواب = 99.
        اطبع(أسئلة[0]::سؤال_نصي + "\س").
        اطبع(نسق_ص64(أسئلة[0]::جواب) + "\س").
        اطبع(أسئلة[1]::سؤال_نصي + "\س").
        اطبع(نسق_ص64(أسئلة[1]::جواب) + "\س").
        اطبع(نسق_ص64(أول::جواب) + "\س").
        اطبع(نسق_ص64(منسوخ::جواب) + "\س").
        أرجع 0.
    }
    
    تنزيل درس-السجلات.لبات

    النتائج المتوقعة
    {
      "browser": {
        "check": "success",
        "class": "success",
        "output": "2 + 3?\n5\n3 * 4?\n12\n5\n99\n",
        "processStatus": 0
      },
      "native": {
        "check": 0,
        "status": 0,
        "output": "2 + 3?\n5\n3 * 4?\n12\n5\n99\n"
      }
    }

    ينشئ سؤال { سؤال_نصي: "2 + 3?", جواب: 5 } قيمة بإعطاء كل حقل مرة واحدة بالضبط. تشترك أول وثان في النوع مع اختلاف نص السؤال والجواب. تضع قائمة<سؤال> / list<Question> القيمتين في أسئلة. يختار الفهرسان 0 و1 السؤال الأول والثاني. تقرأ :: اللاحقة حقلا مسمى، لذا أسئلة[0]::سؤال_نصي نص وأسئلة[0]::جواب عدد صحيح.

    تقبل اطبع / print نصا. اطبع السؤال مباشرة، لكن استخدم نسق_ص64 / format_i64 صراحة للجواب؛ ويضيف كل سطر \س. ينسخ متغير منسوخ: سؤال = أسئلة[0] / var copied: Question = questions[0] السؤال المختار إلى جذر قابل للتغيير. يغير الإسناد منسوخ::جواب = 99 تلك النسخة وحدها. لا يمكن تغيير المعاملات أو جذور دع أو القيم المؤقتة. تعيد دالة الدخول الحالة الطبيعية 0 مستقلة عن قيم الأجوبة.

    توقع القيم المستقلة

    توقع أول::جواب بعد تغيير حقل النسخة وقبل التشغيل. الخرج الدقيق 2 + 3?\n5\n3 * 4?\n12\n5\n99\n والحالة 0. يبقى جواب السؤال الأول الأصلي 5 وجواب الثاني 12، أما النسخة فجوابها 99. ينسخ إنشاء القائمة وقراءة عنصر منها القيم أيضا. تغيير قائمة أو سجل متداخل في نسخة يترك الأصل دون تغيير كذلك.

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

    غير جواب النسخة

    غير فقط منسوخ::جواب = 99 إلى منسوخ::جواب = 42. الخرج المتوقع بالضبط 2 + 3?\n5\n3 * 4?\n12\n5\n42\n والحالة الطبيعية 0.

    اجعل جواب النسخة 42. توقع أسطر الخرج التي تتغير.

    تلميح: غير العدد المسند عبر منسوخ. أبق المنشئين وأسئلة دون تغيير.

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

    يتغير السطر الأخير وحده إلى 42. يحتفظ السؤالان في القائمة بحقلي النص والجواب الأصليين، ويبقى جواب أول هو 5. تشترك منسوخ معهما في نوع سؤال لكنها تحمل قيمة مستقلة. يطبع النص مباشرة؛ وما زال كل حقل عددي يحتاج إلى تنسيق صريح. تعيد دالة الدخول الحالة الطبيعية 0.

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

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

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

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

    سجل سؤال { سؤال_نصي: نص, جواب: ص64 }
    دالة ابدأ_الرئيسية() -> ص64 {
        دع أول: سؤال = سؤال { سؤال_نصي: "2 + 3?", جواب: 5 }.
        دع ثان: سؤال = سؤال { سؤال_نصي: "3 * 4?", جواب: 12 }.
        دع أسئلة: قائمة<سؤال> = [أول, ثان].
        متغير منسوخ: سؤال = أسئلة[0].
        منسوخ::جواب = 42.
        اطبع(أسئلة[0]::سؤال_نصي + "\س").
        اطبع(نسق_ص64(أسئلة[0]::جواب) + "\س").
        اطبع(أسئلة[1]::سؤال_نصي + "\س").
        اطبع(نسق_ص64(أسئلة[1]::جواب) + "\س").
        اطبع(نسق_ص64(أول::جواب) + "\س").
        اطبع(نسق_ص64(منسوخ::جواب) + "\س").
        أرجع 0.
    }
    
    تنزيل درس-السجلات-حل.لبات

    النتائج المتوقعة
    {
      "browser": {
        "check": "success",
        "class": "success",
        "output": "2 + 3?\n5\n3 * 4?\n12\n5\n42\n",
        "processStatus": 0
      },
      "native": {
        "check": 0,
        "status": 0,
        "output": "2 + 3?\n5\n3 * 4?\n12\n5\n42\n"
      }
    }

    تحقق من فهمك

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

    تصفح الصفحات