[Perl] APL → Raku : un équivalent de "code" et "decode" ?
Jean
ponder.stibbons at orange.fr
Lun 23 Mar 19:15:04 CET 2020
Ainsi que je l'ai exposé lors des Journées Perl 2018
il est possible de trouver dans Raku des équivalents à
certains opérateurs APL. En ce moment, je cherche s'il existe
des équivalents aux opérateurs "code" ( ⊤ ) et "decode" ( ⊥ ).
Référence (en recollant les trois URL) :
https://github.com/jforget/Perl6-Alpha-As-des-As-Zero/blob/master/Description/description-fr.pod#user-content-indices-négatifs
https://github.com/jforget/Perl6-Alpha-As-des-As-Zero/blob/master/Description/description-fr.pod#user-content-opérateurs-unicode
https://github.com/jforget/Perl6-Alpha-As-des-As-Zero/blob/master/Description/description-fr.pod#user-content-un-autre-héritage-dapl
Premier exemple : combien font 1 million de secondes en semaines, jours,
heures, minutes et secondes ?
52 7 24 60 60 ⊤ 1000000
1 4 13 46 40
Réponse, cela fait 1 semaine, 4 jour, 13 heures, 46 minutes
et 40 secondes. Vérification :
52 7 24 60 60 ⊥ 1 4 13 46 40
1000000
Deuxième exemple. Aujourd'hui, la date en compte long maya est
13.0.7.6.9. Combien de jours se sont-ils écoulés depuis la date
origine du calendrier maya ?
20 20 20 18 20 ⊥ 13 0 7 6 9
1874649
Vérification :
20 20 20 18 20 ⊤ 1874649
13 0 7 6 9
On pourrait avoir d'autres exemples avec les unités de mesure
anglo-saxonnes.
Savez-vous s'il existe un équivalent aux fonctions "code" et "encode"
d'APL ? Vous avez bien compris que je ne suis pas intéressé par les méthodes
de la classe DateTime ou du rôle Dateish. D'autre part, pour la fonction
"decode", il est possible d'écrire une formule avec des parenthèses, des
plus
et des multiplier, donc je ne suis pas bloqué, mais c'est une question
de style. Pareil pour la fonction "code", on peut faire cela avec une
boucle,
mais si je pouvais faire cela en une seule instruction avec du style...
Merci pour vos lumières
Jean
Plus d'informations sur la liste de diffusion Perl