Path Enums
Path-related enums
Component Enum
Section titled “Component Enum”use std::path::{Path, Component};
fn main() { // Component variants println!("=== Component Enum ===\n");
let path = Path::new("/home/user/../other/./file.txt");
for component in path.components() { match component { Component::RootDir => println!("RootDir: /"), Component::CurDir => println!("CurDir: ."), Component::ParentDir => println!("ParentDir: .."), Component::Normal(name) => println!("Normal: {:?}", name), Component::Prefix(prefix) => println!("Prefix: {:?}", prefix), } }
// Windows paths have Prefix #[cfg(windows)] { let win_path = Path::new(r"C:\Users\test"); for c in win_path.components() { println!("{:?}", c); } }
// Collect normalized path let normalized: Vec<_> = path.components() .filter(|c| !matches!(c, Component::CurDir)) .collect();
println!("\nWithout CurDir: {:?}", normalized);}เข้าสู่ระบบเพื่อดูเนื้อหาเต็ม
ยืนยันตัวตนด้วยบัญชี Google เพื่อปลดล็อกบทความทั้งหมด
Login with Google