Zig Academy · درس

تنسيق النص باستخدام std.fmt

أنشئوا سلاسل نصية باستخدام محددات التنسيق

الدرس 4 من 413 خطوة

تنسيق النص باستخدام std.fmt درس مجاني في Zig Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Zig Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Zig Academy 4 دروس في المجموع.

لماذا التنسيق؟

تجمع البرامج الحقيقية القيم داخل النص: الأسماء والأعداد والأسعار. ويتولى Zig ذلك من خلال std.fmt ولغته المصغرة لسلاسل التنسيق.

العناصر النائبة بين الأقواس

تستخدم سلسلة التنسيق {} كعنصر نائب. ويسحب كل زوج من الأقواس المعقوفة الوسيط التالي من الصف الذي تمرّره معها.

std.debug.print("x = {}\n", .{42});

توضع الوسائط في صف

تقدم الوسائط على شكل صف مجهول، ويُكتب .{ a, b }. وحتى الوسيط الواحد يكون داخل غلاف الصف هذا.

std.debug.print("{} {}\n", .{1, 2});

محدد السلسلة النصية

اطبع []const u8 كنص باستخدام {s}. أما {} المجردة فستحاول تنسيق الشريحة كبنية مؤلفة من مؤشر وطول.

std.debug.print("{s}\n", .{"hi"});

قواعد الأعداد

تحكّم في أساس العدد الصحيح باستخدام محددات مثل {x} للنظام الست عشري، و{b} للنظام الثنائي، و{o} للنظام الثماني. وهذا رائع لتصحيح الشيفرة منخفضة المستوى.

std.debug.print("{x}\n", .{255}); // ff

العرض والحشو

احشُ قيمة حتى عرض ثابت باستخدام النقطتين، كما في {d:5}. وهذا يصطف بالأرقام في أعمدة مرتبة وسهلة القراءة.

std.debug.print("{d:5}\n", .{7});

دقة الأعداد العشرية

حدّد عدد المنازل العشرية باستخدام حقل دقة مثل {d:.2}. ويطبع ذلك رقمين تمامًا بعد الفاصلة للحصول على نتيجة مرتبة.

std.debug.print("{d:.2}\n", .{3.14159});

تهريب قوس معقوف

هل تحتاج إلى قوس معقوف حرفي في مخرجاتك؟ ضاعفه: {{ يطبع { واحدًا، و}} يطبع } واحدًا. وهذا يتجنب الالتباس مع العناصر النائبة.

std.debug.print("{{x}}\n", .{});

بناء String

للتنسيق في الذاكرة بدلًا من stdout، استدعِ std.fmt.allocPrint. إذ يخصص مصفوفة جديدة من النوع []u8 ويعيدها، وتحتوي على النص الخاص بك.

const s = try std.fmt.allocPrint(
    alloc, "id={}", .{id});

تحرير ما تخصصه

بما أن allocPrint يستخدم مخصِّصًا، فأنت تملك النتيجة ويجب أن تنفذ لها free. ويضمن وضع defer مباشرة بعد الاستدعاء بقاء عملية التنظيف مرتبة.

defer alloc.free(s);

المخازن المؤقتة الثابتة باستخدام bufPrint

عندما لا تريد استخدام الكومة إطلاقًا، اكتب في مصفوفتك الخاصة باستخدام std.fmt.bufPrint. إذ يعيد الشريحة المملوءة التي استخدمها فعليًا.

var buf: [16]u8 = undefined;
const out = try std.fmt.bufPrint(&buf, "{}", .{9});

تحقق سريع

أنت تطبع قيمة من النوع []const u8 وتريد عرضها كنص مقروء.

مراجعة

نسّقت النص باستخدام std.fmt: العناصر النائبة {} و{s}، والأساس، والعرض، والدقة، بالإضافة إلى allocPrint وbufPrint للسلاسل النصية. 🎨

البدء مجانًا

تعلم Zig مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
30
الدروس
120

الأسئلة الشائعة

هل درس «تنسيق النص باستخدام std.fmt» مجاني؟

نعم — نص درس «تنسيق النص باستخدام std.fmt» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Zig Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Zig Academy 4 دروس في المجموع.

ماذا ستتعلم في «تنسيق النص باستخدام std.fmt»؟

أنشئوا سلاسل نصية باستخدام محددات التنسيق تتمرن على Zig Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Zig Academy؟

لا تُشترط خبرة سابقة. Zig Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «تنسيق النص باستخدام std.fmt»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Zig Academy هذا؟

نعم. كل درس في Zig Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. السلاسل النصية هي []const u8
  2. ثوابت السلاسل النصية ومحارف الهروب
  3. مقارنة البايتات والبحث فيها
  4. تنسيق النص باستخدام std.fmt
← العودة إلى Zig Academy