Склейка пути в Rust
Склейка соединяет папку и имя в один путь. Строки с разделителями вручную собирать неудобно: лучше взять изменяемый буфер пути и метод, который добавляет следующий сегмент с правильным символом системы.
Соберем путь к файлу внутри data:
use std::path::PathBuf;
fn note_path() -> PathBuf {
let mut base = PathBuf::from("data");
base.push("note.txt");
base
}
fn main() {
let full = note_path();
println!("{}", full.display());
}
Метод join на ссылке пути делает
то же без отдельного буфера:
use std::path::Path;
fn main() {
let dir = Path::new("docs");
let full = dir.join("readme.txt");
println!("{}", full.display());
}
Дан путь:
let path = "data";
Склейте с log.txt, запишите текст
и прочитайте по полному пути.
Даны сегменты:
let part = "docs";
Постройте docs/archive/note.txt
через PathBuf и два шага push.
Скажите, зачем использовать склейку вместо ручной строки с косой чертой.