Cursus Raku / Essentiëlen / Associatieve datentypen / Oefeningen / Vervangen met antoniemen

Oplossing: Vervangen met antoniemen

Om de taak op te lossen, wordt de inhoud van het bestand dictionary.raku gekopieerd naar het oplossingsbestand replace-with-antonyms.raku. Daarna probeert een lus over de invoerargumenten het woord in het woordenboek te vinden, en als dat lukt, neemt het het antoniem. Als er geen dergelijk woord in het woordenboek staat, wordt het oorspronkelijke woord gebruikt.

Code

De oplossing wordt hieronder weergegeven. Het woordenboek wordt hier slechts gedeeltelijk getoond.

my %dictionary =
    'above' => 'below',
    'absent' => 'present',
    'achieve' => 'fail',
    # . . .
    'wrong' => 'right',
    'young' => 'old'    
;

for @*ARGS -> $word {
    say %dictionary{$word} // $word;
}

🦋 Vind het programma in het bestand replace-with-antonyms.raku.

Uitvoer

$ raku exercises/associatives/replace-with-antonyms.raku early morning
late
evening

$ raku exercises/associatives/replace-with-antonyms.raku big soft drive
small
hard
drive

Opmerkingen

  1. De // operator is de defined-or operator, die de eerste gedefinieerde operand retourneert.
  2. In de hash zijn alle sleutels woorden (d.w.z. ze zien eruit als identificatoren), dus je hoeft ze niet te citeren in de hash. Het is dus mogelijk om een hash te maken, zoals hieronder weergegeven:
my %dictionary =
    above => 'below',
    absent => 'present',
    achieve => 'fail',
    # . . .
    wrong => 'right',
    young => 'old'    
;

Volgende oefening

💪 Aankoop tabel

Cursusnavigatie

Positionele datentypen / Subscriptie van reeksen   |   Functies maken en aanroepen

Deze pagina is automatisch vertaald met ChatGPT 4o. Originele Engelse tekst.

Vertalingen van deze pagina: EnglishDeutschEspañolItalianoLatviešuNederlandsБългарскиРусскийУкраїнська