Rust:
Arbeiten mit TOML

Wie man:

// 1. Füge das 'toml'-Paket in deine Cargo.toml ein
// [Abhängigkeiten]
// toml = "0.5"

// 2. Deserialisiere TOML in eine Struktur in Rust
use toml::Value;

fn main() {
    let toml_inhalt = r#"
        [server]
        host = "localhost"
        port = 8080
    "#;

    let wert = toml_inhalt.parse::<Value>().unwrap();
    let host = wert.get("server").unwrap().get("host").unwrap();
    let port = wert.get("server").unwrap().get("port").unwrap();
    
    println!("Der Server läuft auf {}:{}", host, port);
    // Ausgabe: Der Server läuft auf "localhost":8080
}

Tiefere Einblicke

TOML, das für Toms Offensichtliche, Minimale Sprache steht, wurde 2013 von Tom Preston-Werner erschaffen. Es zielt darauf ab, lesbarer als JSON oder YAML für Konfigurationsdateien zu sein. Die Gestaltung von TOML konzentriert sich auf unzweideutige Syntax, Minimalismus und eine einfache Zuordnung zu Datentypen.

Zu den Alternativen zu TOML gehören JSON, YAML und XML, aber TOML gewinnt in Szenarien, in denen Menschenlesbarkeit und die Bearbeitung von Dateien durch Nicht-Programmierer entscheidend sind. Beim Arbeiten mit TOML in Rust bietet serde eine solide Grundlage für Serialisierung und Deserialisierung, indem Traits verwendet werden, um TOML mühelos auf Rusts Strukturen abzubilden.

Eine Herausforderung beim Arbeiten mit TOML ist seine Strenge bezüglich Typen und Struktur. Der Programmierer muss ein gut strukturiertes Rust-Typensystem definieren, das das Schema der TOML-Daten widerspiegelt, um TOML in Rust effektiv nutzen zu können.

Siehe auch