السلطان
  1. الرئيسية
  2. الأمثلة
  3. وقت الترجمة

`فشل_وقت_الترجمة` يرفض وسيطة وقت ترجمة خاطئة أثناء الترجمة

comptime/compile_error.sn
// `فشل_وقت_الترجمة` يرفض وسيطة وقت ترجمة خاطئة أثناء الترجمة.
// تغيير `عرض_متحقق(8)` إلى `عرض_متحقق(80)` يوقف البناء.
استورد std.io.println;
استورد std.text.number;
استورد std.meta.reflect;

عرف عرض_متحقق(وقت_الترجمة البتات: عدد): عدد {
    إذا (البتات > 64) {
        فشل_وقت_الترجمة("يجب ألا يتجاوز العرض 64 بتا");
    };
    أرجع البتات;
}

عرف الرئيسية(): عدد {
    اطبع_سطر(عدد_إلى_نص(عرض_متحقق(8)));
    أرجع 0;
}

التشغيل

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

./build/sultanc run examples/ar/comptime/compile_error.sn

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

./build/sultanc examples/ar/comptime/compile_error.sn -o build/example && ./build/example

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