Werk implementatie bij op basis van die van rouille en voeg nieuwe sleutelwoorden toe

This commit is contained in:
Jeroen Hoegen Dijkhof 2021-09-11 16:30:28 +02:00
parent ac90050ec4
commit 33551d76a0
No known key found for this signature in database
GPG key ID: 1B26DDB69F21CB8C
2 changed files with 16 additions and 6 deletions

View file

@ -5,7 +5,7 @@ roest::roest! {
karaktereigenschap SleutelWaarde { karaktereigenschap SleutelWaarde {
functie schrijf(&zelf, sleutel: Keten, waarde: Keten); functie schrijf(&zelf, sleutel: Keten, waarde: Keten);
functie lees(&zelf, sleutel: Keten) -> Mogelijkheid<&Keten>; functie lees(&zelf, sleutel: Keten) -> Resultaat<Mogelijkheid<&Keten>, Keten>;
} }
vast veranderlijk WOORDENBOEK: Mogelijkheid<Wbk<Keten, Keten>> = Geen; vast veranderlijk WOORDENBOEK: Mogelijkheid<Wbk<Keten, Keten>> = Geen;
@ -19,11 +19,16 @@ roest::roest! {
}; };
wk.voeg_in(sleutel, waarde); wk.voeg_in(sleutel, waarde);
} }
functie lees(&zelf, sleutel: Keten) -> Mogelijkheid<&Keten> { functie lees(&zelf, sleutel: Keten) -> Resultaat<Mogelijkheid<&Keten>, Keten> {
laat wk = gevaarlijk { // laat wk = gevaarlijk {
WOORDENBOEK.verkrijg_of_voeg_toe_met(Standaard::standaard) // WOORDENBOEK.verkrijg_of_voeg_toe_met(Standaard::standaard)
}; // };
wk.verkrijg(&sleutel) // wk.verkrijg(&sleutel)
als laat Enige(wbk) = gevaarlijk { WOORDENBOEK.als_verw() } {
Goed(wbk.verkrijg(&sleutel))
} anders {
Ft("ophalen uit woordenboek".tot())
}
} }
} }

View file

@ -61,6 +61,11 @@ fn replace_ident(ident: Ident) -> Option<TokenTree> {
"gebruik" => "use", "gebruik" => "use",
"waar" => "true", "waar" => "true",
"opsomming" => "enum", "opsomming" => "enum",
"tot" => "into",
"verw" => "ref",
"als_verw" => "as_ref",
"onbereikbare_code" => "unreachable_code",
"sta_toe" => "allow",
_ => &ident_str, _ => &ident_str,
}; };