ورقة الغش
ملخص للصيغ لا شرح لها؛ الشرح في تعلّم ميم وفهرس المرجع. اطبعها من المتصفح: تُطبع بلا القوائم.
الأساسيات
رابط إلى قسم «الأساسيات»| الغرض | الصيغة |
|---|---|
| طباعة | اطبع("س = ", س) (بلا فاصل بين القيم) |
| تعليق | # حتى آخر السطر |
| متغير ونوعه | س = 5 · س عدد = 5 (النوع ثابت من أول قيمة) |
| ثابت | ثابت حد = 100 |
| الأنواع | عدد · كسر · نص · رمز · منطقي (صواب/خطاء) · لاشيء |
| تحويل | نص(5) · عدد("5") والا 0 · كسر(7) |
| قسمة | 7 / 2 = 3 (صحيحة) · 7 / 2.0 = 3.5 · 7 % 2 = 1 |
| إدخال | س = اقرأ("رسالة: ") |
التحكم
رابط إلى قسم «التحكم»| الغرض | الصيغة |
|---|---|
| شرط | اذا ...: · غير ذلك اذا ...: · غير ذلك: |
| منطق | و · او · ! |
| حلقة عددية | لكل ع في مدى(1, 11): (لا تشمل 11) |
| على قائمة أو قاموس أو نص | لكل ع في ق: |
| طالما | طالما شرط: |
| خروج / تخطٍّ | توقف · تجاوز |
| مطابقة | حالات س: ثم حاله قيمة: وحاله _: |
المجموعات
رابط إلى قسم «المجموعات»| الغرض | الصيغة |
|---|---|
| قائمة | ق = [1, 2, 3] · ق قائمة[نص] = [] |
| إضافة / طول / بحث | اضف(ق, 4) · طول(ق) · بحث(ق, 2) (-1 إن لم يوجد) |
| ترتيب | رتب(ق) · رتب_ب(ق, دالة_قبل) |
| قاموس | د = {"ا": 1} · د["ب"] = 2 · يوجد(د, "ا") · احذف(د, "ا") |
| مصفوفة ثابتة | م مصفوفة[عدد, 4] = [0, 0, 0, 0] |
| نصوص | تقسيم(ن, " ") · قص_الفراغات(ن) · جزء(ن, 0, 3) · يحوي(ن, "س") · دمج_نصوص(ا, ب) |
الدوال والهياكل والتعداد
رابط إلى قسم «الدوال والهياكل والتعداد»| الغرض | الصيغة |
|---|---|
| دالة | داله اسم(س عدد, ص نص) عدد: ثم ارجع ... |
| بلا قيمة | داله اسم() فراغ: |
| هيكل | هيكل نقطة: ثم حقل في كل سطر: س عدد |
| إنشاء ووصول | ن = نقطة(1, 2) · ن.س · ق[0].س += 1 |
| تعداد | تعداد لون: ثم عضو في كل سطر · لون.احمر · عدد(لون.احمر) = 0 |
الأخطاء
رابط إلى قسم «الأخطاء»| الغرض | الصيغة |
|---|---|
| أسماء أخطائك | اخطاء: ثم اسم في كل سطر |
| دالة قد تفشل | داله ف() !عدد: · ارجع خطأ.اسم |
| قيمة بديلة | ن = ف() والا 0 |
| معالجة بكتلة | ن = ف() والا خ: ثم حالات خ: وآخر سطر هو القيمة |
| تمرير الفشل | ن = جرّب ف() |
| تنظيف عند الفشل وحده | خاتمه_عند_خطأ ... |
| أخطاء التشغيل | فهرس خارج القائمة، قسمة على صفر، تجاوز 64 بت: رمز 3، لا تُعالَج |
الذاكرة
رابط إلى قسم «الذاكرة»| الغرض | الصيغة |
|---|---|
| تحرير | حرر(س) |
| عند الخروج من الكتلة | خاتمه حرر(س) (بعكس الترتيب، عند كل مخرج) |
| ساحة | س_ = ساحة(الافتراضي) · خاتمه اعد(س_) · تقسيم(ن, " ", س_) |
| مؤشر | م = جديد(نقطة(1, 2)) · محتوى(م).س · حرر(م) |
| كشف ما لم يُحرَّر | meem برنامج.م --debug-mem |
الوحدات وC
رابط إلى قسم «الوحدات وC»| الغرض | الصيغة |
|---|---|
| وحدة قياسية | استورد رياضيات ثم رياضيات.جذر(2.0) |
| ملف بجوارك | استورد مساعد (يجلب مساعد.م) |
| دالة من C | خارجي داله طول_c(ن نص) حجم باسم "strlen" |
| ذاكرة خام | خطر: ثم احجز_خام(عدد32, 4) |
الأوامر
رابط إلى قسم «الأوامر»| الغرض | الأمر |
|---|---|
| شغّل | meem برنامج.م · بوسائط: meem برنامج.م -- ا ب |
| ابنِ ملفاً مستقلاً | meem build برنامج.م -o برنامج · حركياً: --dynamic |
| افحص بلا تشغيل | meem --check برنامج.م · للأدوات: --check --json |
| صارم | --strict (التحذيرات أخطاء) |
| كاشف الذاكرة | افتراضي في meem برنامج.م · بلا كاشف: --release · في الملف المبني: build --debug · مع تقرير التسرب: --debug-mem |
| منع الخطر | --no-unsafe · --no-ffi · --no-system |
| الإصدار والفحص الذاتي | meem --version · meem --self-test |
كل ما سبق في برنامج
رابط إلى قسم «كل ما سبق في برنامج»# برنامج واحد يمرّ على أكثر ما في ورقة الغشاستورد رياضيات
اخطاء: فارغة
تعداد مستوى: مبتدئ متقدم
هيكل طالب: اسم نص درجات قائمة[عدد] مستواه مستوى
داله معدل(ط طالب) !كسر: اذا طول(ط.درجات) == 0: ارجع خطأ.فارغة مج = 0 لكل د في ط.درجات: مج += د ارجع كسر(مج) / كسر(طول(ط.درجات))
طلاب = [طالب("ليلى", [90, 85, 100], مستوى.متقدم), طالب("عمر", [], مستوى.مبتدئ)]خاتمه حرر(طلاب)عدد_كل قاموس[مستوى, عدد] = {}خاتمه حرر(عدد_كل)لكل ط في طلاب: م = معدل(ط) والا خ: اطبع(ط.اسم, ": لا درجات (", خ, ")") تجاوز اطبع(ط.اسم, ": ", رياضيات.نسق(م, 1)) حالات ط.مستواه: حاله مستوى.مبتدئ: اطبع(" يبدأ") حاله مستوى.متقدم: اطبع(" متقدم")لكل ط في طلاب: اذا يوجد(عدد_كل, ط.مستواه): عدد_كل[ط.مستواه] += 1 غير ذلك: عدد_كل[ط.مستواه] = 1اطبع("المستويات: ", طول(عدد_كل))