لبات ASPLلبات 0.7.0

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

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

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

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

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

    السلاسل النصية

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

    اجمع اسما وعددا منسقا، وتوقع طول نص عربي ومقطعه بمواضع قيم يونيكود العددية.

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

    ما ستتعلمه

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

    قبل أن تبدأ

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

    اجمع النص ونسق العدد

    string / نص نص ثابت مخزن بترميز UTF-8. تربط let / دع الاسم المرسل اسم والعدد الصحيح التالي والسلسلة تحية. تكتب print / اطبع السؤال Name: قبل أن تقرأ read_line / اقرأ_سطر الرد دون نهاية سطره. يجمع العامل النصي + النصوص بالترتيب المكتوب؛ ويحفظ المسافات ولا يترجم المحتوى أو يغير تطبيعه.

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

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

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

    أسطر الإدخال: ["سلمى"]

    دالة ابدأ_الرئيسية() -> ص64 {
        اطبع("Name: ").
        دع اسم: نص = اقرأ_سطر().
        دع التالي: ص64 = 41 + 1.
        دع تحية: نص = "Hello, " + اسم + "! Next: " + نسق_ص64(التالي).
        اطبع(تحية + "\س").
        دع متن: نص = "مرحبا".
        اطبع(نسق_ص64(طول(متن)) + "\س").
        اطبع(اقتطع(متن, 1, 3) + "\س").
        أرجع 0.
    }
    
    تنزيل درس-النصوص.لبات

    النتائج المتوقعة
    {
      "browser": {
        "check": "success",
        "class": "success",
        "output": "Name: Hello, سلمى! Next: 42\n5\nرح\n",
        "processStatus": 0
      },
      "native": {
        "check": 0,
        "status": 0,
        "output": "Name: Hello, سلمى! Next: 42\n5\nرح\n"
      }
    }

    41 + 1 حساب أعداد صحيحة يعطي التالي القيمة 42. تحول format_i64(next) / نسق_ص64(التالي) هذا العدد صراحة إلى سلسلة ASCII هي "42". يجمع تعبير التحية سلاسل نصية. لا يمكن جمع سلسلة مباشرة مع عدد صحيح؛ احتفظ باستدعاء التنسيق. يحتاج كل اطبع إلى \س الصريحة لإنهاء سطره.

    تستخدم الطباعة في السطرين الأخيرين length / طول وslice / اقتطع. يرجع الطول عدد القيم العددية بنوع ص64، ولذلك يحتاج أيضا إلى تنسيق للخرج. يأخذ الاقتطاع النص وموضع بداية مشمولا وموضع نهاية مستبعدا، ويرجع سلسلة نصية. تنتهي دالة الدخول المحجوزة start_main() -> i64 / ابدأ_الرئيسية() -> ص64 بـ return 0 / أرجع 0، منفصلا عن البيانات المطبوعة.

    توقع طول النص العربي ومقطعه

    قبل التشغيل توقع طول("مرحبا") واقتطع("مرحبا", 1, 3). تبدأ المواضع من الصفر وتعد قيم يونيكود العددية، لا بايتات UTF-8 أو مواضع الشاشة. اقرأ الترتيب المنطقي المخزن أدناه حتى إن عرض المصدر باتجاه آخر.

    موضع القيمة العددية القيمة المخزنة
    0 م
    1 ر
    2 ح
    3 ب
    4 ا

    الطول 5. يشمل المقطع الموضعين 1 و2 ويتوقف قبل 3، ولذلك يكون "رح". تشغل القيم العربية الخمس 10 بايتات UTF-8، لكن معاملات الاقتطاع مواضع قيم عددية. تعد علامة التشكيل منفصلة؛ وقد يتكون محرف ظاهر أو تسلسل رموز تعبيرية من عدة قيم عددية. لا يحتوي هذا المثال على علامات تشكيل.

    أرسل سلمى. الخرج الدقيق Name: Hello, سلمى! Next: 42\n5\nرح\n وحالة العملية الطبيعية 0. يترك الرد الفارغ الاسم فارغا بينما يبقى العدد والطول والمقطع كما هي. لا يترجم تغيير لغة التوثيق أو مفردات المصدر المقدمة "مرحبا" أو التحية أو إدخال وقت التشغيل أو الأسماء أو مسودة موجودة.

    أضف قيمة عددية أخرى إلى المقطع

    غير نهاية المقطع فقط من 3 إلى 4. توقع أي قيمة تضاف. مع الاسم نفسه يكون الخرج المتوقع بالضبط Name: Hello, سلمى! Next: 42\n5\nرحب\n وحالة العملية 0.

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

    تلميح: احتفظ بالبداية عند 1. موضع النهاية مستبعد، ولذلك تشمل النهاية 4 المواضع 1 و2 و3.

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

    يحفظ المقطع الآن ر وح وب في مواضع القيم العددية 1 و2 و3. يتوقف قبل ا في الموضع 4، فينتج رحب. تظل التحية دون تغيير وتنسق العدد الصحيح 42 صراحة، ويظل الطول يطبع 5. ينتهي كل سطر خرج بنهاية سطره الصريحة. ترجع دالة الدخول الحالة الطبيعية 0.

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

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

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

    أسطر الإدخال: ["سلمى"]

    دالة ابدأ_الرئيسية() -> ص64 {
        اطبع("Name: ").
        دع اسم: نص = اقرأ_سطر().
        دع التالي: ص64 = 41 + 1.
        دع تحية: نص = "Hello, " + اسم + "! Next: " + نسق_ص64(التالي).
        اطبع(تحية + "\س").
        دع متن: نص = "مرحبا".
        اطبع(نسق_ص64(طول(متن)) + "\س").
        اطبع(اقتطع(متن, 1, 4) + "\س").
        أرجع 0.
    }
    
    تنزيل درس-النصوص-حل.لبات

    النتائج المتوقعة
    {
      "browser": {
        "check": "success",
        "class": "success",
        "output": "Name: Hello, سلمى! Next: 42\n5\nرحب\n",
        "processStatus": 0
      },
      "native": {
        "check": 0,
        "status": 0,
        "output": "Name: Hello, سلمى! Next: 42\n5\nرحب\n"
      }
    }

    تحقق من فهمك

    اشرح الفرق بين + للأعداد الصحيحة و+ للنصوص، ولماذا التنسيق صريح، ولماذا نهاية المقطع مستبعدة. تحقق المقاطع الصالحة 0 <= start <= end <= طول(متن). يسبب المقطع غير الصالح مصيدة string-slice-out-of-bounds؛ لا تحل إزاحات البايتات محل مواضع القيم العددية. لا تحفظ درجة أو تقدما، ويبقى التنقل مفتوحا. عد إلى مسار الدروس أو اقرأ مرجع النصوص.

    تصفح الصفحات