لماذا لا يحتوي Zig على تخصيصات خفية
يُمرَّر التخصيص دائماً بشكل صريح
لماذا لا يحتوي Zig على تخصيصات خفية درس مجاني في Zig Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Zig Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Zig Academy 4 دروس في المجموع.
الذاكرة صريحة
في Zig، لا تستولي أي دالة من المكتبة القياسية على ذاكرة الكومة خفيةً. فإذا احتاجت الشيفرة إلى الحجز، فعليها التصريح بذلك بوضوح. 📦
تمرّر المخصّص
كل ما يحجز ذاكرة يتلقى مخصّصاً كوسيط. فلا يمكن أن تظهر الذاكرة ما لم تمنح الدالة الأداة اللازمة لإنشائها.
fn buildList(allocator: std.mem.Allocator) !void {}لا توجد كلمة new مخفية
لا يملك Zig معامل new ولا جامعاً للمهملات. فلا يصل أي شيء إلى الكومة من وراء ظهرك كما يحدث في كثير من اللغات.
لماذا يهم ذلك
بما أن الحجز ظاهر، فأنت تعرف دائماً من أين تأتي الذاكرة. وهذا أمر حيوي للرقائق المضمّنة والنوى وحلقات الألعاب التي تتطلب أداءً عالياً.
اقرأ التوقيع
تُظهر الدالة التي قد تحجز ذاكرة ذلك في توقيعها: فهي تتلقى مخصّصاً، وعادةً ما تعيد اتحاد أخطاء باستخدام !.
fn dupe(a: std.mem.Allocator, s: []const u8) ![]u8 {}المكدس مجاني
تعيش المتغيرات المحلية العادية على المكدس ولا تحتاج إلى مخصّص. ولا تحتاج إليه إلا عندما يجب أن تتجاوز قيمة عمر دالتها أو تنمو وقت التشغيل.
var x: i32 = 5; // stack, no allocationقد يفشل الحجز
قد يفشل طلب ذاكرة من الكومة، ولذلك تعيد دوال الحجز خطأً. ويجب عليك التعامل مع احتمال OutOfMemory وعدم تجاهله أبداً.
أنت تملك ما تنشئه
يمتلك من يستدعي المخصّص النتيجة، ويجب عليه تحريرها. ولا يحرّر Zig ذاكرتك نيابةً عنك، لذلك تكون الملكية واضحة دائماً.
بدّل المخصّصات بحرية
بما أن المخصّص وسيط، يمكنك تبديل الاستراتيجيات دون تغيير المنطق. تستخدم الاختبارات مخصّصاً، ويستخدم الإنتاج مخصّصاً آخر.
تبقى المكتبات صريحة
لا تخفي المكتبة المكتوبة جيداً أي عملية حجز. فهي تقبل مخصّصك، فتتحكم في الذاكرة حتى داخل شيفرة الآخرين.
قابلية التنبؤ حسب التصميم
تُعد هذه القاعدة جزءاً من وعد Zig بعدم وجود تدفق تحكم خفي. ويحافظ الحجز الصريح على قابلية التنبؤ بالبرامج وسهولة تحليلها. ✅
تحقّق سريع
تذكّر كيف تحصل دالة Zig على القدرة على الحجز.
مراجعة
رأيت أن Zig لا يحتوي على حجوزات خفية: لا تأتي الذاكرة إلا عبر مخصّص تمرّره، وأنت تملك كل ما تنشئه وتحرّره. 🎯
تعلم Zig مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 30
- الدروس
- 120
الأسئلة الشائعة
هل درس «لماذا لا يحتوي Zig على تخصيصات خفية» مجاني؟
نعم — نص درس «لماذا لا يحتوي Zig على تخصيصات خفية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Zig Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Zig Academy 4 دروس في المجموع.
ماذا ستتعلم في «لماذا لا يحتوي Zig على تخصيصات خفية»؟
يُمرَّر التخصيص دائماً بشكل صريح تتمرن على Zig Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Zig Academy؟
لا تُشترط خبرة سابقة. Zig Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «لماذا لا يحتوي Zig على تخصيصات خفية»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Zig Academy هذا؟
نعم. كل درس في Zig Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- لماذا لا يحتوي Zig على تخصيصات خفية
- واجهة المخصّص
- alloc وfree وcreate وdestroy
- القوائم الديناميكية باستخدام ArrayList