السلطان
  1. الرئيسية
  2. الأمثلة
  3. صيغ البيانات

قراءة قيم من وثيقة TOML، ومنها جدول متداخل

formats/toml.sn
// قراءة قيم من وثيقة TOML، ومنها جدول متداخل.
استورد std.io.println;
استورد std.toml.parser;

عرف الرئيسية(): عدد {
    دع المصدر: نص = "title = \"السلطان\"\nstable = true\n\n[build]\nstage = 2\n";
    طابق حلل_تومل(&المصدر) مع
    | نتيجة.خطأ(_) -> { اطبع_سطر("ملف TOML غير صالح"); أرجع 1; }
    | نتيجة.نجح(الوثيقة) -> {
        دع مفتاح_العنوان: نص = "title";
        طابق قيمة_مفتاح_تومل(&الوثيقة, 0, &مفتاح_العنوان) مع
        | اختياري.موجود(قيمة_تومل.سلسلة(العنوان_الرئيسي)) -> { اطبع_سطر(العنوان_الرئيسي); }
        | _ -> { اطبع_سطر("لا يوجد عنوان"); };
        دع مفتاح_البناء: نص = "build";
        دع مفتاح_المرحلة: نص = "stage";
        طابق جدول_مفتاح_تومل(&الوثيقة, 0, &مفتاح_البناء) مع
        | اختياري.موجود(الجدول) -> {
            طابق قيمة_مفتاح_تومل(&الوثيقة, الجدول, &مفتاح_المرحلة) مع
            | اختياري.موجود(قيمة_تومل.عدد(المرحلة)) -> { اطبع_سطر(المرحلة); }
            | _ -> { اطبع_سطر("لا توجد مرحلة"); };
        }
        | اختياري.لا_شيء -> { اطبع_سطر("لا يوجد جدول build"); };
    };
    أرجع 0;
}

التشغيل

بالمفسر، دون ترجمة:

./build/sultanc run examples/ar/formats/toml.sn

أو ترجمه إلى ملف تنفيذي:

./build/sultanc examples/ar/formats/toml.sn -o build/example && ./build/example

المصدر على GitHub   كل الأمثلة