ابدأ من Zig
ميم أقرب إلى Zig من أي لغة تعليمية: المخصص قيمة تُمرَّر، وخاتمه تقابل defer، و!نوع تقابل !T. ولم يكن Zig مثبتاً على جهاز التحليل، فما يخص Zig هنا من وثائقه، غير مجرَّب.
ما يقابل ماذا
رابط إلى قسم «ما يقابل ماذا»| في Zig | في ميم |
|---|---|
std.mem.Allocator يُمرَّر |
المخصص وسيطاً أخيراً، ويجوز تركه فيُمرَّر الافتراضي |
ArenaAllocator |
ساحة(الاصل) واعد |
FixedBufferAllocator |
مخزن_ثابت |
GeneralPurposeAllocator في التنقيح |
الكاشف، افتراضي في meem برنامج.م وبـ --debug في meem build؛ و--debug-mem يضيف تقرير التسرب |
defer / errdefer |
خاتمه / خاتمه_عند_خطأ |
!T، try، catch |
!نوع، جرّب، والا |
error{...} |
كتلة اخطاء:، ومجموعة واحدة عامة |
?T |
لاشيء للنص والمؤشر فقط |
| Debug / ReleaseFast | التشغيل المباشر بالكاشف / meem build أو --release بلا كاشف. وفحص الحدود والتجاوز في الوضعين، وبلا_فحص داخل خطر موضعياً |
داله عالج(ن عدد) نص: اطبع("فتح المورد ", ن) خاتمه اطبع("إغلاق المورد ", ن) خاتمه اطبع("تنظيف أول") اذا ن < 0: ارجع "سالب" اطبع("عمل على ", ن) ارجع "تم"
اطبع(عالج(5))اطبع("---")اطبع(عالج(-1))اخطاء: ملف_تالف
داله حمّل(صالح منطقي) !عدد: اطبع("فتح") خاتمه اطبع("إغلاق") خاتمه_عند_خطأ اطبع("تراجع عن نصف العمل") اذا !صالح: ارجع خطأ.ملف_تالف ارجع 42
اطبع(حمّل(صواب) والا -1)اطبع("---")اطبع(حمّل(خطاء) والا -1)أين تخالف ميم نموذج Zig (0.10.0)
رابط إلى قسم «أين تخالف ميم نموذج Zig (0.10.0)»- «لا حجز مخفي» قاعدة منذ 0.10.0، باستثناء واحد: نمو
ن += ذيليترك المخزن القديم (تسرب محدود بنحو ضعفي الطول النهائي). وفي 0.9.1 كانت العمليات على «عرض» تحجز نسخاً لا تُعاد. - الشريحة والنص: النص
{مؤشر، طول، مالك}، والعرض نص على بايتات نص آخر يعيش بعمره. - لا
comptimeولا أنواع معمّمة. خاتمه ... والاغير ممكنة: التنظيف الذي قد يفشل يحتاج دالة غلاف.- لا مخصصات يكتبها المستخدم، ولا
resizeولا محاذاة. - الكاشف وقت التشغيل لا وقت الترجمة، ولا يرى ذاكرة C، و
حررلا يتبع ما في داخل الحاوية (لاdeinitعميق). - الخطأ بلا مجموعات في التوقيع ولا تتبّع (Zig له error return trace في التنقيح).