العودة إلى الدورة

البرمجة العامة (Generics) باستخدام Comptime

الدورة الكاملة: برمجة Zig من الصفر حتى الاحتراف

البرمجة العامة (Generics) في Zig

في Zig، يتم تنفيذ البرمجة العامة من خلال دوال تعيد "نوعاً" (type). وهذا ممكن لأن الأنواع هي قيم من الدرجة الأولى (first-class values) في وقت التصريف (comptime).

zig fn List(comptime T: type) type { return struct { items: []T, len: usize, }; }

const IntList = List(i32); var my_list = IntList{ .items = undefined, .len = 0 };

هذا النهج قوي وأبسط بكثير من القوالب (templates) في C++ أو الأنواع العامة (generics) في Java.