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

حقائق الأنواع التي يحسبها المترجم للهدف المختار

comptime/reflection.sn
// حقائق الأنواع التي يحسبها المترجم للهدف المختار.
استورد std.io.println;
استورد std.text.number;
استورد std.meta.reflect;

نوع نقطة_صورة = { الأحمر_قيمة: ط8, الأخضر: ط8, الأزرق: ط8, الشفافية: ط8 };
نوع اتجاه = | شمال | شرق | جنوب | غرب;

عرف الرئيسية(): عدد {
    دع البكسل: نقطة_صورة = { الأحمر_قيمة: 1, الأخضر: 2, الأزرق: 3, الشفافية: 4 };
    دع الوجهة: اتجاه = اتجاه.شرق();
    اطبع_سطر(طبيعي_إلى_نص(حجم_النوع(&البكسل) مثل طبيعي));
    اطبع_سطر(طبيعي_إلى_نص(عدد_حقول_النوع(&البكسل) مثل طبيعي));
    اطبع_سطر(طبيعي_إلى_نص(عدد_منشئات_النوع(&الوجهة) مثل طبيعي));
    أرجع 0;
}

التشغيل

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

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

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

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

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