Cursus Raku / Elementa / Associativa data genera / Exercitationes / Itinera distantia
Solutio: Itinera distantia
Hash hashorum quem invenies in archivo distances.raku est paulum redundans sed valde utilis structura datae quam uti potes ad obtinendam distantiam inter quamlibet par civitatum.
Reliquum programma est par annulorum nidificatorum ad perscrutandas omnes segmenta itineris et ad summandas ad totales.
Codex
Hic est solutio ubi magnus datae set tantum partialiter ostenditur.
my %distance =
Amstelodamum => {
Athenae => 3082,
Berolinum => 648,
# . . .
},
# . . .
Turicum => {
Amstelodamum => 861,
Athenae => 2449,
# . . .
};
my @iter = < Berolinum Praga Vindobona Turicum Lutetia >;
my $total = 0;
for 0 .. @iter.elems - 2 -> $index {
my $a = @iter[$index];
my $ad = @iter[$index + 1];
my $distantia = %distance{$a}{$ad};
dic "$a — $ad: $distantia km";
$total += $distantia;
}
dic "Totum iter: $total km";
🦋 Invenies programma cum tota structura datae in archivo travel-distance.raku.
Output
Pro dato itinere, output programmatis infra ostenditur. Conare alias vias per civitates quas habemus in hash %distance
.
$ raku exercises/associatives/travel-distance.raku
Berolinum — Praga: 354 km
Praga — Vindobona: 312 km
Vindobona — Turicum: 784 km
Turicum — Lutetia: 557 km
Totum iter: 2007 km
Cursus navigatio
← Positionalia data genera / Subscribendo intervalla | Creando et vocando functiones →
Haec pagina automatice translata est per ChatGPT 4o. Originalis Anglicus textus
Translationes huius paginae: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська