الدرس 2 من 10

الأرقام والنصوص

هدف الدرس

// و % و ^ وطرق النصّ

01

الشرح

في Lua 5.4 للرقم نوعان فرعيّان: صحيح integer وعشري float، وmath.type(x) تخبرك أيّهما. والقسمة / تُرجع عشريًّا دائمًا، فـ 10 / 2 تعطي 5.0. أما // فتقسم وتقرّب إلى الأدنى، و% تعطي الباقي: 250 // 4 تعطي 62 و250 % 4 تعطي 2. هكذا يُقسم ذهب الغنيمة على الفريق.

والأسّ ^ عشري دائمًا حتى على الصحيحين: 2 ^ 3 تعطي 8.0. فمنحنى الخبرة 100 * level ^ 2 يظهر في الواجهة 900.0، وmath.floor تعيده صحيحًا. ولعرض العشري بمنزلتين string.format("%.2f", x).

وطرق النصّ تُنادى بنقطتين رأسيّتين: nick:upper()، وnick:sub(1, 3) من الحرف الأول إلى الثالث، و("#"):rep(5) تكرّر النصّ، و#nick طوله. لكن # وsub تعدّان البايتات لا الأحرف، والحرف العربي بايتان: #"ليان" تعطي 8. للأحرف العربية utf8.len، وupper لا تغيّر فيها شيئًا.

02

المطلوب

اقسم gold على party: share نصيب كل لاعب عددًا صحيحًا، وleftover ما يبقى. وxpNext قيمة 100 * level ^ 2 عددًا صحيحًا. وaccuracy نسبة hits إلى shots مئويةً، نصًّا بمنزلتين. وtag أول ثلاثة أحرف من nick كبيرةً بين قوسين مربّعين. وbar علامة # لكل 10 من hp.

معايير التصحيح

6 معايير
  1. share نصيب صحيح: 62 لا 62.5
  2. leftover الباقي: 2
  3. xpNext يساوي 900 صحيحًا لا 900.0
  4. accuracy نصّ بمنزلتين: 71.15
  5. tag هو [SHA]
  6. bar سبع علامات #
main.lua
المخرجاتLua 5.4 · wasmoon

جارٍ تحميل Lua…

–/6

يبدأ الفحص حين تجهز البيئة.

6 معايير في بطاقة «المطلوب».