تخطَّ إلى المحتوى

ورقة الغش

ملخص للصيغ لا شرح لها؛ الشرح في تعلّم ميم وفهرس المرجع. اطبعها من المتصفح: تُطبع بلا القوائم.

الغرض الصيغة
طباعة اطبع("س = ", س) (بلا فاصل بين القيم)
تعليق # حتى آخر السطر
متغير ونوعه س = 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
الغرض الصيغة
وحدة قياسية استورد رياضيات ثم رياضيات.جذر(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
اطبع("المستويات: ", طول(عدد_كل))
مخرجات مسجّلة من المجمّعmeem ورقة_غش.م · meem 0.10.0+b01b55f
ليلى: 91.7  متقدمعمر: لا درجات (فارغة)المستويات: 2