لبات ASPLلبات 0.7.0

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

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

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

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

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

    ملفات المتصفح الافتراضية

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

    عالج not-found واكتب بايتات النص بدقة، وميز الملفات المؤقتة من المصدر المحفوظ.

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

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

    عالج ملفا مفقودا، واكتب hello يتبعه سطر جديد إلى lesson.txt، واقرأه مجددا. اشرح متى تبقى ملفات تشغيل المتصفح المؤقتة وكيف تحفظ بايتاتها الدقيقة.

    قبل أن تبدأ

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

    اقرأ وعالج الإخفاق واكتب واقرأ مجددا

    تعيد اقرأ_ملف_نصي("missing.txt") / read_text_file(...) نوع نتيجة<نص> / result<string>. اختبر ::نجاح / ::ok أولا. عند الغياب يقرأ فرع الإخفاق وحده ::الخطأ::الرمز / ::error::code ويطبع not-found مع \س. إن وجد الملف يقرأ فرع النجاح وحده ::قيمة / ::value. يبقى المصدر محروسا في الحالتين.

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

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

    المتطلبات السابقة:
    • ابدأ بمجموعة ملفات تشغيل فارغة. ينشئ البرنامج lesson.txt أو يستبدله. بيانات المتصفح مؤقتة؛ المسارات الأصلية نسبية لمجلد عمل العملية.

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

    دالة ابدأ_الرئيسية() -> ص64 {
        دع مفقود: نتيجة<نص> = اقرأ_ملف_نصي("missing.txt").
        إذا (مفقود::نجاح) {
            اطبع(مفقود::قيمة).
        } وإلا {
            اطبع(مفقود::الخطأ::الرمز + "\س").
        }
        دع محفوظ: نتيجة<وحدة> = اكتب_ملف_نصي("lesson.txt", "hello\س").
        إذا (محفوظ::نجاح) {
            دع محمل: نتيجة<نص> = اقرأ_ملف_نصي("lesson.txt").
            إذا (محمل::نجاح) {
                اطبع(محمل::قيمة).
            } وإلا {
                اطبع(محمل::الخطأ::الرمز + "\س").
            }
        } وإلا {
            اطبع(محفوظ::الخطأ::الرمز + "\س").
        }
        أرجع 0.
    }
    
    تنزيل درس-الملفات-الافتراضية.لبات

    النتائج المتوقعة
    {
      "browser": {
        "check": "success",
        "class": "success",
        "output": "not-found\nhello\n",
        "processStatus": 0,
        "fileUpdates": [
          {
            "name": "lesson.txt",
            "content": "hello\n"
          }
        ]
      },
      "native": {
        "check": 0,
        "status": 0,
        "output": "not-found\nhello\n"
      }
    }

    تنشئ اكتب_ملف_نصي("lesson.txt", "hello\س") / write_text_file(...) الملف أو تستبدله بنص UTF-8. تعيد نتيجة<وحدة> / result<unit>: لا تحمل الكتابة الناجحة قيمة قابلة للقراءة، لذا اختبر النجاح بدلا من قراءة محفوظ::قيمة. يوفر الإخفاق وحده معلومات خطأ. داخل معالجة نجاح الكتابة تعيد قراءة أخرى نصا؛ ويطبعه فرع النجاح مباشرة. يحتوي النص سطره الجديد بالفعل فلا تضيف الطباعة محرفا آخر. تبقى إخفاقات القراءة والكتابة نتائج قابلة للاسترداد. تنهي المصيدة التنفيذ. تعيد دالة الدخول الحالة الطبيعية 0 بعد الفروع، مستقلة عن الخرج ومحتوى الملف.

    توقع الخرج والبايتات

    مع مجموعة فارغة يكون الخرج الدقيق not-found\nhello\n والحالة 0. يحتوي lesson.txt على ستة بايتات بالضبط، بالنظام الست عشري 68 65 6c 6c 6f 0a. يوجد محرف LF واحد دون سطر إضافي أو علامة ترتيب بايتات. افحص ملفات التشغيل بعد التنفيذ ونزل lesson.txt صراحة لحفظ تلك البايتات خارج الصفحة.

    يمكن أن تبقى الملفات لتشغيل آخر في المستند الحالي للمسودة نفسها. يعالج التشغيل الثاني غياب missing.txt مجددا ويستبدل lesson.txt بالبايتات نفسها. يمسح التحديث كل ملفات التشغيل والخرج وسجل الإدخال وحالة العامل، بينما يبقى المصدر المحفوظ. لا يحفظ حفظ المصدر ملفات التشغيل. نزل البيانات قبل التحديث إن احتجتها. لا يترجم تغيير لغة القراءة المصدر أو البايتات.

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

    غير النص المحفوظ

    غير النص المكتوب وحده إلى "hello again\س". ابدأ دون missing.txt. الخرج المتوقع بالضبط not-found\nhello again\n والحالة 0؛ يحتوي lesson.txt الآن اثني عشر بايتا بنص UTF-8 يمثل hello again يتبعه LF.

    اكتب hello again يتبعه سطر جديد واحد، ثم توقع القراءة والتنزيل.

    تلميح: عدل المعامل الثاني وحده لدالة الكتابة. أبق اسم الملف وكل حراس النتائج وطباعة النص المقروء مباشرة.

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

    ما زال missing.txt الغائب يعيد not-found ويستمر التنفيذ. تستبدل الكتابة lesson.txt بنص hello again ومحرف LF واحد. يقرأ فرع نجاحها الملف نفسه ويطبع البايتات الدقيقة دون إضافة سطر جديد ثان. يحفظ التنزيل البايتات الاثني عشر؛ ويمسح التحديث نسخة المتصفح مع استعادة المصدر المحفوظ. تعيد دالة الدخول الحالة الطبيعية 0.

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

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

    المتطلبات السابقة:
    • ابدأ بمجموعة ملفات تشغيل فارغة. ينشئ البرنامج lesson.txt أو يستبدله. بيانات المتصفح مؤقتة؛ المسارات الأصلية نسبية لمجلد عمل العملية.

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

    دالة ابدأ_الرئيسية() -> ص64 {
        دع مفقود: نتيجة<نص> = اقرأ_ملف_نصي("missing.txt").
        إذا (مفقود::نجاح) {
            اطبع(مفقود::قيمة).
        } وإلا {
            اطبع(مفقود::الخطأ::الرمز + "\س").
        }
        دع محفوظ: نتيجة<وحدة> = اكتب_ملف_نصي("lesson.txt", "hello again\س").
        إذا (محفوظ::نجاح) {
            دع محمل: نتيجة<نص> = اقرأ_ملف_نصي("lesson.txt").
            إذا (محمل::نجاح) {
                اطبع(محمل::قيمة).
            } وإلا {
                اطبع(محمل::الخطأ::الرمز + "\س").
            }
        } وإلا {
            اطبع(محفوظ::الخطأ::الرمز + "\س").
        }
        أرجع 0.
    }
    
    تنزيل درس-الملفات-الافتراضية-حل.لبات

    النتائج المتوقعة
    {
      "browser": {
        "check": "success",
        "class": "success",
        "output": "not-found\nhello again\n",
        "processStatus": 0,
        "fileUpdates": [
          {
            "name": "lesson.txt",
            "content": "hello again\n"
          }
        ]
      },
      "native": {
        "check": 0,
        "status": 0,
        "output": "not-found\nhello again\n"
      }
    }

    تحقق من فهمك

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

    تصفح الصفحات