Anpassung des Beispiels in der LIESMICH datei

This commit is contained in:
Michael Lohr 2021-09-11 18:25:11 +02:00
parent 827763a02b
commit 583160274b
No known key found for this signature in database
GPG key ID: B137D6DEABB425CF

View file

@ -21,29 +21,31 @@ Here's an example of what can be achieved with Rost:
```rust ```rust
rost::rost! { rost::rost! {
utilisons std::collections::Dictionnaire comme Dico; benutze std::collections::Wörterbuch als Wöbu;
convention CléValeur { vereinbarung SchlüsselWert {
fonction écrire(&soi, clé: Chaine, valeur: Chaine); funktion schreibe(&selbst, schlsl: Zeichenkette, wert: Zeichenkette);
fonction lire(&soi, clé: Chaine) -> PeutÊtre<&Chaine>; funktion lese(&selbst, schlsl: Zeichenkette) -> Ergebnis<Möglichkeit<&Zeichenkette>, Zeichenkette>;
} }
statique mutable DICTIONNAIRE: PeutÊtre<Dico<Chaine, Chaine>> = Rien; statisch änd WÖRTERBUCH: Möglichkeit<Wöbu<Zeichenkette, Zeichenkette>> = Nichts;
structure Concrète; struktur Konkret;
réalisation CléValeur pour Concrète { umstz SchlüsselWert für Konkret {
fonction écrire(&soi, clé: Chaine, valeur: Chaine) {
soit dico = dangereux { funktion schreibe(&selbst, schlsl: Zeichenkette, wert: Zeichenkette) {
DICTIONNAIRE.prendre_ou_insérer_avec(Défaut::défaut) lass wöbu = gefährlich {
WÖRTERBUCH.hole_oder_füge_ein_mit(Standard::standard)
}; };
dico.insérer(clé, valeur); wöbu.einfügen(schlsl, wert);
} }
fonction lire(&soi, clé: Chaine) -> Résultat<PeutÊtre<&Chaine>, Chaine> {
si soit Quelque(dico) = dangereux { DICTIONNAIRE.en_réf() } { funktion lese(&selbst, schlsl: Zeichenkette) -> Ergebnis<Möglichkeit<&Zeichenkette>, Zeichenkette> {
Bien(dico.lire(&clé)) wenn lass Etwas(wöbu) = gefährlich { WÖRTERBUCH.als_ref() } {
} sinon { Gut(wöbu.hole(&schlsl))
Arf("fetchez le dico".vers()) } anderenfalls {
Fehler("Holt das Wörterbuch".hinein())
} }
} }
} }