Skip to content
เข้าสู่ระบบ

Path Enums

Path-related enums

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 เพื่อปลดล็อกบทความทั้งหมด