الماكرو
الماكرو
Section titled “الماكرو”الماكرو في كنوز يسمح بتوليد الكود وقت الترجمة وتوفير اختصارات مفيدة.
ماكرو الطباعة
Section titled “ماكرو الطباعة”اطبع_سطر!
Section titled “اطبع_سطر!”الماكرو الأساسي للطباعة مع سطر جديد.
// طباعة نص بسيطاطبع_سطر!("مرحباً بالعالم");
// طباعة مع متغيراتدع اسم = "أحمد";دع عمر = 25;اطبع_سطر!("الاسم: {} والعمر: {}", اسم, عمر);
// طباعة أنواع مختلفةدع س = 3.14;اطبع_سطر!("القيمة: {}", س);تنسيق النص
Section titled “تنسيق النص”دع عدد = 42;دع نص = "اختبار";
// عناصر نائبة متعددةاطبع_سطر!("العدد {} والنص {}", عدد, نص);
// تداخل التعابيردع أ = 5;دع ب = 3;اطبع_سطر!("الناتج: {}", أ + ب);
// استخدام مع الهياكلهيكل نقطة { س: صحيح, ص: صحيح}
دع ن = نقطة { س: 10, ص: 20 };اطبع_سطر!("النقطة: ({}, {})", ن.س, ن.ص);العناصر النائبة
Section titled “العناصر النائبة”| النوع | التنسيق | المثال |
|---|---|---|
| صحيح | {} | اطبع_سطر!("العدد: {}", 42) |
| عشري | {} | اطبع_سطر!("القيمة: {}", 3.14) |
| نص | {} | اطبع_سطر!("الاسم: {}", "أحمد") |
| منطقي | {} | اطبع_سطر!("الحالة: {}", صح) |
// أمثلة على كل نوعدع ص: صحيح = 100;دع ع: عشري = 2.718;دع ن: نص = "كنوز";دع م: منطقي = صح;
اطبع_سطر!("صحيح: {}", ص);اطبع_سطر!("عشري: {}", ع);اطبع_سطر!("نص: {}", ن);اطبع_سطر!("منطقي: {}", م);التنسيق المتقدم
Section titled “التنسيق المتقدم”طباعة متعددة الأسطر
Section titled “طباعة متعددة الأسطر”اطبع_سطر!("السطر الأول");اطبع_سطر!("السطر الثاني");اطبع_سطر!("السطر الثالث");
// أو في سطر واحد مع \nاطبع!("السطر الأول\nالسطر الثاني\nالسطر الثالث\n");طباعة بدون سطر جديد
Section titled “طباعة بدون سطر جديد”اطبع!("أدخل اسمك: ");// قراءة المدخلاستخدام مع الحلقات
Section titled “استخدام مع الحلقات”// طباعة جدول الضربلكل ي في 1..=10 { لكل ج في 1..=10 { اطبع_سطر!("{} × {} = {}", ي, ج, ي * ج); } اطبع_سطر!("---");}
// طباعة عناصر مصفوفةدع أعداد = [10, 20, 30, 40, 50];لكل ت في 0..5 { اطبع_سطر!("العنصر [{}] = {}", ت, أعداد[ت]);}استخدام مع الهياكل
Section titled “استخدام مع الهياكل”هيكل شخص { اسم: نص, عمر: صحيح, راتب: عشري}
دع موظف = شخص { اسم: "محمد", عمر: 30, راتب: 5000.50};
اطبع_سطر!("=== معلومات الموظف ===");اطبع_سطر!("الاسم: {}", موظف.اسم);اطبع_سطر!("العمر: {} سنة", موظف.عمر);اطبع_سطر!("الراتب: {} ريال", موظف.راتب);دوال الطباعة البديلة
Section titled “دوال الطباعة البديلة”للحالات البسيطة، يمكن استخدام دوال الطباعة المباشرة:
// طباعة نصاطبع("مرحباً");
// طباعة عدد صحيحاطبع_صحيح(42);
// طباعة عدد عشرياطبع_عشري(3.14);
// طباعة سطر جديداطبع_سطر_فارغ();أمثلة عملية
Section titled “أمثلة عملية”سجل التصحيح (Debug Log)
Section titled “سجل التصحيح (Debug Log)”دالة سجل(مستوى: نص, رسالة: نص) { دع وقت_حالي = وقت(); اطبع_سطر!("[{}] {}: {}", وقت_حالي, مستوى, رسالة);}
// الاستخدامسجل("معلومة", "بدء التطبيق");سجل("تحذير", "الذاكرة منخفضة");سجل("خطأ", "فشل الاتصال");طباعة جدول
Section titled “طباعة جدول”دالة اطبع_جدول(بيانات: متجه<(نص, صحيح)>) { اطبع_سطر!("+------------+-------+"); اطبع_سطر!("| الاسم | القيمة |"); اطبع_سطر!("+------------+-------+");
لكل (اسم, قيمة) في بيانات { اطبع_سطر!("| {} | {} |", اسم, قيمة); }
اطبع_سطر!("+------------+-------+");}شريط التقدم
Section titled “شريط التقدم”دالة اطبع_تقدم(حالي: صحيح, إجمالي: صحيح) { دع نسبة = (حالي * 100) / إجمالي; اطبع_سطر!("التقدم: {}% ({}/{})", نسبة, حالي, إجمالي);}
// الاستخداملكل ت في 1..=10 { اطبع_تقدم(ت, 10); نم(100); // انتظار 100 مللي ثانية}