تعرف على كيفية تنسيق بيانات السلسلة الخاصة بك لتقديم عرض مثالي.
يعد تنسيق السلسلة جانبًا مهمًا من جوانب البرمجة لأنه يتيح لك معالجة البيانات وعرضها بطريقة منظمة ومقروءة. يمكنك التحكم في عرض البيانات عن طريق تنسيق السلاسل للحصول على تجربة مستخدم أفضل.
يوفر Rust آلية قوية ومرنة لتنسيق السلسلة التي تمكنك من إنشاء مخرجات واضحة وموجزة ، بما في ذلك وظائف رقمية ، والتاريخ ، والوقت ، ومعالجة الأخطاء.
تنسيق السلسلة الأساسي في Rust
يوفر Rust وظائف لتنسيق السلاسل مع الآخرين أنواع الصدأ المدمجة.
يمكنك استخدام ال شكل! ماكرو لتنسيق السلسلة الأساسي في Rust. ال شكل! يوفر الماكرو طريقة موجزة وفعالة لإنشاء سلاسل منسقة مع عناصر نائبة محاطة بأقواس معقوفة.
الجبهة الوطنيةرئيسي() {
يترك الاسم = "أليس";
يترك العمر = 25;
يترك رسالة = شكل!("اسمي {} وعمري {} عام."، الاسم ، العمر) ؛
println!("{}"، رسالة)؛
}
ال اسم المتغير يحمل سلسلة ، و عمر متغير يحمل عددًا صحيحًا. ال رسالة متغير له سلسلة منسقة تستخدم شكل! لاستبدال العناصر النائبة بالقيم المقابلة ، مما ينتج عنه سلسلة تنسيق تحتوي على اسم و عمر.
ال شكل! يدعم الماكرو محددات التنسيق المختلفة التي تسمح لك بالتحكم في الإخراج.
إليك كيفية تحديد عدد المنازل العشرية لأرقام الفاصلة العائمة ، وتحديد عرض الحقول ، ومحاذاة الإخراج.
الجبهة الوطنيةرئيسي() {
يترك بي = 3.14159;
يترك formatted_pi = شكل!("قيمة pi تقريبًا {: .2}"، باي)؛
println!("{}"، formatted_pi) ؛ // يطبع 3.14
}
ال باي المتغير يحمل قيمة النقطة العائمة ؛ مع محدد التنسيق :.2، يمكنك إرشاد شكل! الماكرو المراد عرضه باي مع منزلتين عشريتين.
ال شكل! الماكرو هي إحدى الطرق العديدة لتنسيق السلسلة باستخدام Rust. بناءً على متطلباتك ، ضع في اعتبارك استخدام println! أو يكتب! ماكرو للإخراج المنسق إلى وحدة التحكم أو تدفقات الإخراج الأخرى.
تنسيق القيم الرقمية
يوفر Rust أيضًا وظائف لتنسيق القيم الرقمية المختلفة ، من الأعداد الصحيحة إلى العوامات والأنواع الرقمية الأخرى.
بشكل عام ، تعد محددات التنسيق أساس تنسيق السلسلة في Rust ، وستحتاج إلى المحدد الصحيح اعتمادًا على القيمة الرقمية التي تريد تنسيقها.
فيما يلي بعض محددات التنسيق التي يوفرها Rust للقيم العددية:
النوع العددي |
المنسق |
وظائف |
---|---|---|
عدد صحيح |
٪ d أو٪ i |
تنسيقات الأعداد الصحيحة بما في ذلك القيم الموجبة والسالبة. |
أرقام النقطة العائمة |
٪F |
مناسب لتنسيق أرقام الفاصلة العائمة ، بما في ذلك الأجزاء المتكاملة والكسرية. |
الأسية |
٪ e أو٪ E |
تنسيقات الأرقام في التدوين العلمي (الشكل الأسي). |
تمثيل ثماني |
٪ o |
تنسيقات الأعداد الصحيحة في التمثيل الثماني (الأساس 8). |
التمثيل السداسي العشري |
٪ x أو٪ X |
تنسيقات الأعداد الصحيحة في التمثيل الست عشري (الأساس 16). |
بالإضافة إلى ذلك ، يمكنك تحديد المساحة المتروكة والمحاذاة للقيم العددية. يضيف الحشو مسافات أو أصفارًا إلى قيمة رقمية منسقة لتحقيق العرض المطلوب. تساعد الحشوة في محاذاة القيم للعرض التقديمي في شكل جدولي أو تخطيطات أخرى منظمة بصريًا. قبل قيمة العرض ، يمكنك تحديد حرف المساحة المتروكة ، إما مسافة أو صفر.
لمحاذاة قيمة إلى اليسار ، استخدم الرمز - علَم. لمحاذاة قيمة إلى اليمين ، احذف العلامة أو استخدم العلامة "0" لعدم ترك مساحة فارغة.
الجبهة الوطنيةرئيسي() {
رقم = 42
formatted_number = "٪ 10d" ٪ رقم
طباعة (تنسيق_رقم)
}
تتم محاذاة القيمة إلى اليمين ضمن عرض من 10 أحرف ، مما ينتج عنه ثماني مسافات بادئة قبل الرقم.
تنسيق سلسلة مخصص في Rust
تنسيق السلسلة المخصص مهم للعمليات الأكثر تطلبًا. يمكنك إنشاء تطبيقات تنسيق مخصصة لأنواعك باستخدام Rust المضمن الأمراض المنقولة جنسيا:: fmt وحدة.
ال الأمراض المنقولة جنسيا:: fmt توفر الوحدة النمطية سمات لتنسيق الإخراج مع مجموعة واسعة من الخيارات لتخصيص مظهر البيانات أثناء عملية تحويل السلسلة. ال الأمراض المنقولة جنسيا:: fmt وحدة توفر أ عرض و تصحيح سمة مفيدة لعمليات تنسيق السلسلة.
سمة العرض
ال عرض تساعد السمة في إنتاج مخرجات يمكن للبشر قراءتها من خلال تحديد كيفية تنسيق الكائن باستخدام {} عنصر نائب في سلسلة. يمكنك تنفيذ عرض سمة لك أنواع مخصصة من خلال تحديد طريقة تسمى FMT يأخذ المنسق كوسيطة.
يوفر المُنسق طرقًا مختلفة للتحكم في إخراج التنسيق ، مثل تنسيق write_str و write_fmt طُرق.
يستخدم الأمراض المنقولة جنسيا:: fmt ؛
// حدد بنية باسم "النقطة"
هيكلنقطة {
س: i32,
ص: i32,
}// تنفيذ سمة "العرض" لـ "النقطة"
ضمني fmt:: عرض ل نقطة {
الجبهة الوطنيةFMT(&الذات، F: &موت fmt:: منسق <'_>) -> fmt ::نتيجة {
// تنسيق `النقطة` بنية كـ" (س ، ص) "
يكتب!(F، "({}, {})", الذات.x ، الذات.y)
}
}الجبهة الوطنيةرئيسي() {
// إنشاء مثيل "Point" جديد
يترك النقطة = النقطة {x: 5، ص: 10 };
// اطبع `النقطة` بِنية باستخدام تنسيق` العرض`
println!("المقصود هو: {}"، نقطة)؛
}
ال نقطة الهيكل ينفذ عرض سمة. داخل FMT طريقة يكتب! ماكرو واكتب الإخراج المطلوب إلى المنسق بامتداد {} نائب.
سمة التصحيح
ال تصحيح السمة تشبه عرض السمة ، إلا أنها تركز على إنتاج مخرجات مناسبة لتصحيح الأخطاء و معالجة الأخطاء المقاصد. ال تصحيح تستخدم السمة بشكل رئيسي مع {:?} نائب.
تنفيذ تصحيح السمة على الأنواع المخصصة الخاصة بك واضحة ومباشرة. ال تصحيح توفر السمة تطبيقًا افتراضيًا يعتمد على عرض سمة. ومع ذلك ، يمكنك تجاوز السلوك الافتراضي لتوفير تمثيل تصحيح أخطاء متخصص.
يستخدم الأمراض المنقولة جنسيا:: fmt ؛
// حدد بنية باسم "الشخص"
# [اشتقاق (تصحيح)]
هيكلشخص {
اسم: خيط,
عمر: u32,
}// تنفيذ سمة "العرض" لـ "الشخص"
ضمني fmt:: عرض ل شخص {
الجبهة الوطنيةFMT(&الذات، F: &موت fmt:: منسق) -> fmt ::نتيجة {
// تنسيق هيكل "الشخص" كسلسلة يمكن للبشر قراءتها
يكتب!(F، "الاسم: {} ، العمر: {}", الذات.اسم، الذات.عمر)
}
}الجبهة الوطنيةرئيسي() {
// إنشاء مثيل "شخص" جديد
يترك person = شخص {
اسم: خيط::من("أليس"),
عمر: 30,
};// اطبع هيكل "الشخص" باستخدام تنسيق "العرض"
println!("عرض: {}"، شخص)؛
// اطبع بنية "الشخص" باستخدام تنسيق "تصحيح"
println!("تصحيح: {:؟}"، شخص)؛
}
البرنامج مشتق تصحيح سمة ل شخص هيكل مع # [اشتقاق (تصحيح)]. يقوم هذا تلقائيًا بإنشاء التنفيذ بناءً على حقول البنية.
يطبع الماكرو println تمثيل التصحيح بامتداد تصحيح عنصر نائب للتنسيق لتنسيق الإخراج باستخدام ملف تصحيح تطبيق.
الصدأ لديه نظام نوع غني بالميزات
يلعب نظام Rust's rich type دورًا مهمًا في تنسيق السلسلة. من خلال الاستفادة من الكتابة الثابتة ومكتبات التنسيق القوية في Rust ، يمكنك كتابة تعليمات برمجية آمنة وفعالة أثناء معالجة مهام التنسيق والتلاعب بالسلسلة.
يضمن نظام الكتابة أمان وقت الترجمة ويمنع الأخطاء الشائعة ، من عدم تطابق النوع إلى مشكلات محدد التنسيق. من خلال الجمع بين نظام نوع Rust وقدرات التنسيق الشاملة ، يمكنك ذلك تعامل بثقة مع تحديات تنسيق السلسلة واستفد من أداء اللغة وأمانها ضمانات.