Rust:
Робота з TOML
Як це зробити:
// 1. Додайте крейт 'toml' до вашого Cargo.toml
// [залежності]
// toml = "0.5"
// 2. Десеріалізуйте TOML у структуру в Rust
use toml::Value;
fn main() {
let toml_content = r#"
[server]
host = "localhost"
port = 8080
"#;
let value = toml_content.parse::<Value>().unwrap();
let host = value.get("server").unwrap().get("host").unwrap();
let port = value.get("server").unwrap().get("port").unwrap();
println!("Сервер працює на {}:{}", host, port);
// Вивід: Сервер працює на "localhost":8080
}
Поглиблений Огляд
TOML, що означає “Tom’s Obvious, Minimal Language” (Очевидна, Мінімалістична Мова Тома), була створена Томом Престон-Вернером у 2013 році. Мета полягає в тому, щоб бути більш читабельною, ніж JSON або YAML для файлів конфігурацій. Дизайн TOML зосереджений на недвозначному синтаксисі, мінімалізмі та легкому картографуванні до типів даних.
Альтернативи TOML включають JSON, YAML та XML, але TOML перемагає в сценаріях, де критично важливі читабельність людиною та редагування файлів не програмістами. Працюючи з TOML у Rust, serde надає міцну основу для серіалізації та десеріалізації, використовуючи трейти для беззусильного картографування TOML на структури Rust.
Виклик, працюючи з TOML, полягає в його строгості щодо типів і структури. Програміст повинен визначити добре структуровану систему типів Rust, що відображає схему даних TOML, для ефективного використання TOML у Rust.