كيف يعمل تنسيق السلسلة في Rust

كيف يعمل تنسيق السلسلة في Rust
القراء مثلك يساعدون في دعم MUO. عند إجراء عملية شراء باستخدام الروابط الموجودة على موقعنا ، فقد نربح عمولة تابعة. اقرأ أكثر.

يعد تنسيق السلسلة جانبًا مهمًا من جوانب البرمجة لأنه يتيح لك معالجة البيانات وعرضها بطريقة منظمة ومقروءة. يمكنك التحكم في عرض البيانات عن طريق تنسيق السلاسل للحصول على تجربة مستخدم أفضل.





يوفر Rust آلية قوية ومرنة لتنسيق السلسلة التي تمكنك من إنشاء مخرجات واضحة وموجزة ، بما في ذلك وظائف رقمية ، والتاريخ ، والوقت ، ومعالجة الأخطاء.





اجعل فيديو اليوم قم بالتمرير للمتابعة مع المحتوى

تنسيق السلسلة الأساسي في Rust

يوفر Rust وظائف لتنسيق السلاسل مع الآخرين أنواع الصدأ المدمجة .





يمكنك استخدام ال شكل! ماكرو لتنسيق السلسلة الأساسي في Rust. ال شكل! يوفر الماكرو طريقة موجزة وفعالة لإنشاء سلاسل منسقة مع عناصر نائبة محاطة بأقواس معقوفة.

 fn main() { 
    let name = "Alice";
    let age = 25;
    let message = format!("My name is {} and I am {} years old.", name, age);
    println!("{}", message);
}

ال اسم المتغير يحمل سلسلة ، و عمر متغير يحمل عددًا صحيحًا. ال رسالة متغير له سلسلة منسقة تستخدم شكل! لاستبدال العناصر النائبة بالقيم المقابلة ، مما ينتج عنه سلسلة تنسيق تحتوي على اسم و عمر .



  نتيجة تنسيق السلسلة الأساسي

ال شكل! يدعم الماكرو محددات التنسيق المختلفة التي تسمح لك بالتحكم في الإخراج.

إليك كيفية تحديد عدد المنازل العشرية لأرقام الفاصلة العائمة ، وتحديد عرض الحقول ، ومحاذاة الإخراج.





 fn main() { 
    let pi = 3.14159;
    let formatted_pi = format!("The value of pi is approximately {:.2}", pi);
    println!("{}", formatted_pi); // prints 3.14
}

ال باي المتغير يحمل قيمة النقطة العائمة ؛ مع محدد التنسيق : .2 ، يمكنك إرشاد شكل! الماكرو المراد عرضه باي مع منزلتين عشريتين.

ال شكل! الماكرو هي إحدى الطرق العديدة لتنسيق السلسلة باستخدام Rust. بناءً على متطلباتك ، ضع في اعتبارك استخدام println! أو يكتب! ماكرو للإخراج المنسق إلى وحدة التحكم أو تدفقات الإخراج الأخرى.





تنسيق القيم الرقمية

يوفر Rust أيضًا وظائف لتنسيق القيم الرقمية المختلفة ، من الأعداد الصحيحة إلى العوامات والأنواع الرقمية الأخرى.

أفضل مكان لشراء أقراص الموسيقى عبر الإنترنت

بشكل عام ، تعد محددات التنسيق أساس تنسيق السلسلة في Rust ، وستحتاج إلى المحدد الصحيح اعتمادًا على القيمة الرقمية التي تريد تنسيقها.

فيما يلي بعض محددات التنسيق التي يوفرها Rust للقيم العددية:

عدد صحيح

٪ d أو٪ i

تنسيقات الأعداد الصحيحة بما في ذلك القيم الموجبة والسالبة.

أرقام النقطة العائمة

٪F

مناسب لتنسيق أرقام الفاصلة العائمة ، بما في ذلك الأجزاء المتكاملة والكسرية.

الأسية

٪ e أو٪ E

تنسيقات الأرقام في التدوين العلمي (الشكل الأسي).

تمثيل ثماني

٪ س

تنسيقات الأعداد الصحيحة في التمثيل الثماني (الأساس 8).

التمثيل السداسي العشري

٪ x أو٪ X

تنسيقات الأعداد الصحيحة في التمثيل الست عشري (الأساس 16).

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

لمحاذاة قيمة إلى اليسار ، استخدم الرمز - علَم. لمحاذاة قيمة إلى اليمين ، احذف العلامة أو استخدم العلامة '0' لعدم ترك مساحة فارغة.

 fn main() { 
    number = 42
    formatted_number = "%10d" % number
    print(formatted_number)
}

تتم محاذاة القيمة إلى اليمين ضمن عرض من 10 أحرف ، مما ينتج عنه ثماني مسافات بادئة قبل الرقم.

تنسيق سلسلة مخصص في Rust

تنسيق السلسلة المخصص مهم للعمليات الأكثر تطلبًا. يمكنك إنشاء تطبيقات تنسيق مخصصة لأنواعك باستخدام Rust المضمن الأمراض المنقولة جنسيا :: fmt وحدة.

ال الأمراض المنقولة جنسيا :: fmt توفر الوحدة النمطية سمات لتنسيق الإخراج مع مجموعة واسعة من الخيارات لتخصيص مظهر البيانات أثناء عملية تحويل السلسلة. ال الأمراض المنقولة جنسيا :: fmt وحدة توفر أ عرض و تصحيح سمة مفيدة لعمليات تنسيق السلسلة.

سمة العرض

ال عرض تساعد السمة في إنتاج مخرجات يمكن للبشر قراءتها من خلال تحديد كيفية تنسيق الكائن باستخدام {} عنصر نائب في سلسلة. يمكنك تنفيذ عرض سمة لك أنواع مخصصة من خلال تحديد طريقة تسمى fmt يأخذ المنسق كوسيطة.

يوفر المُنسق طرقًا مختلفة للتحكم في إخراج التنسيق ، مثل تنسيق write_str و write_fmt طُرق.

 use std::fmt; 

// Define a struct named `Point`
struct Point {
    x: i32,
    y: i32,
}

// Implement the `Display` trait for `Point`
impl fmt::Display for Point {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        // Format the `Point` struct as "(x, y)"
        write!(f, "({}, {})", self.x, self.y)
    }
}

fn main() {
    // Create a new `Point` instance
    let point = Point { x: 5, y: 10 };

    // Print the `Point` struct using the `Display` formatting
    println!("The point is: {}", point);
}

ال نقطة الهيكل ينفذ عرض سمة. داخل fmt طريقة يكتب! ماكرو واكتب الإخراج المطلوب إلى المنسق بامتداد {} نائب.

  نتيجة تنسيق سلسلة مخصص

سمة التصحيح

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

تنفيذ تصحيح السمة على الأنواع المخصصة الخاصة بك واضحة ومباشرة. ال تصحيح توفر السمة تطبيقًا افتراضيًا يعتمد على عرض سمة. ومع ذلك ، يمكنك تجاوز السلوك الافتراضي لتوفير تمثيل تصحيح أخطاء متخصص.

 use std::fmt; 

// Define a struct named `Person`
#[derive(Debug)]
struct Person {
    name: String,
    age: u32,
}

// Implement the `Display` trait for `Person`
impl fmt::Display for Person {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        // Format the `Person` struct as a human-readable string
        write!(f, "Name: {}, Age: {}", self.name, self.age)
    }
}

fn main() {
    // Create a new `Person` instance
    let person = Person {
        name: String::from("Alice"),
        age: 30,
    };

    // Print the `Person` struct using the `Display` formatting
    println!("Display: {}", person);

    // Print the `Person` struct using the `Debug` formatting
    println!("Debug: {:?}", person);
}

البرنامج مشتق تصحيح سمة ل شخص هيكل مع # [اشتقاق (تصحيح)] . يقوم هذا تلقائيًا بإنشاء التنفيذ بناءً على حقول البنية.

يطبع الماكرو println تمثيل التصحيح بامتداد تصحيح عنصر نائب للتنسيق لتنسيق الإخراج باستخدام ملف تصحيح تطبيق.

الصدأ لديه نظام نوع غني بالميزات

يلعب نظام Rust's rich type دورًا مهمًا في تنسيق السلسلة. من خلال الاستفادة من الكتابة الثابتة ومكتبات التنسيق القوية في Rust ، يمكنك كتابة تعليمات برمجية آمنة وفعالة أثناء معالجة مهام التنسيق والتلاعب بالسلسلة.

يضمن نظام الكتابة أمان وقت الترجمة ويمنع الأخطاء الشائعة ، من عدم تطابق النوع إلى مشكلات محدد التنسيق. من خلال الجمع بين نظام نوع Rust وإمكانيات التنسيق الشاملة ، يمكنك بثقة معالجة تحديات تنسيق السلسلة والاستفادة من أداء اللغة وضمانات السلامة.