Fmt Enums
Formatting enums
Alignment Enum
Section titled “Alignment Enum”use std::fmt::{self, Formatter, Alignment};
struct AlignDemo(i32);
impl fmt::Display for AlignDemo { fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { // Get alignment from format specifier let align = f.align(); let width = f.width().unwrap_or(0);
let s = self.0.to_string();
match align { Some(Alignment::Left) => write!(f, "{:<width$}", s), Some(Alignment::Right) => write!(f, "{:>width$}", s), Some(Alignment::Center) => write!(f, "{:^width$}", s), None => write!(f, "{}", s), } }}
fn main() { println!("=== Alignment Enum ==="); println!("Alignment::Left - '<'"); println!("Alignment::Right - '>'"); println!("Alignment::Center - '^'");
let val = AlignDemo(42);
println!("\n=== With width 10 ==="); println!("Left: [{:<10}]", val); println!("Right: [{:>10}]", val); println!("Center: [{:^10}]", val);
// With fill character println!("\n=== With fill ==="); println!("Left: [{:*<10}]", 42); println!("Right: [{:*>10}]", 42); println!("Center: [{:*^10}]", 42);}เข้าสู่ระบบเพื่อดูเนื้อหาเต็ม
ยืนยันตัวตนด้วยบัญชี Google เพื่อปลดล็อกบทความทั้งหมด
Login with Google