[Perl] Perl6 et Date

Laurent Rosenfeld laurent.rosenfeld at googlemail.com
Dim 19 Nov 20:04:39 CET 2017


Bonjour,

c'est le Z qui crée des séquences internes (des sous-listes, en quelque
sorte). Si tu le combines en tant que méta-opérateur avec l'opérateur de
concaténation, tu auras le résultat sans les espaces:

> say ((DateTime.new(now) - DateTime.new(:year(2017), :month(10), :day(7),
:hour(17), :minute(30))).polymod(60,60,24) Z~ <s mn h j>).reverse.join(":")
43j:1h:31mn:12.332372s

Bonne soirée,
Laurent.


Le 19 novembre 2017 à 16:39, Patrice Karatchentzeff <
patrice.karatchentzeff at gmail.com> a écrit :

> Merci à tous : du coup, ça fonctionne bien...
>
> J'avais besoin d'écrire un petit bout de script qui me retourne au format
> hh:mn:ss le temps écoulé depuis une date donnée...
>
> J'ai potassé le DateTime de Perl6 et je n'ai rien trouvé qui faisait cela
> en deux coups de cuillerée à pot... du coup, ça m'a obligé à apprendre
> davantage perl6 (ce qui était l'objectif secondaire) et ce fut rigolo :
> voilà pour le fun ce que j'ai fait :
>
> /opt/rakudo-pkg/bin/perl6 -e 'say ((DateTime.new(now) -
> DateTime.new(:year(2017), :month(10), :day(7), :hour(17),
> :minute(30))).polymod(60,60,24) Z <s mn h j>).reverse.join(" : ")'
> 42 j : 20 h : 31 mn : 50.047230 s
>
> Au moins, c'est toujours aussi illisible que perl5 pour les unilignes 😊
>
> Le seul truc que je n'arrive pas à faire est d'éliminer l'espace après le
> chiffre si on fait un join(":")... je ne sais pas trop d'où il sort...
>
> J'ai bien aimé le polymod... sensass comme fonction interne ! Le Z est pas
> mal non plus... Par contre, la doc Perl6 est un peu éparse (sauf pour
> débuter) et peu fiable...
>
> Bref, vive perl6 😀🍾🎇
>
> Le 17 novembre 2017 à 23:34, Laurent Rosenfeld <
> laurent.rosenfeld at googlemail.com> a écrit :
>
>> Bonsoir Patrice,
>>
>> # perl6 -v
>> This is perl6 version 2015.11 built on MoarVM version 2015.11
>>
>> C'est effectivement pas très récent...
>>
>> Ce n'est pas seulement que ça n'est pas très récent, c'est aussi (et
>> surtout) que c'est une version juste avant la première release dite de
>> production (version "implementing Perl 6.c"), sortie fin décembre 2015. Si
>> tu avais eu une version du genre 2016.01, je n'aurais pas été spécialement
>> inquiet, mais, là, par rapport à une 2015.11, c'est vraiment bien que tu
>> aies fait une mise à jour.
>>
>> Bonne soirée,
>> Laurent.
>>
>>
>>
>> Le 17 novembre 2017 à 19:52, Patrice Karatchentzeff <
>> patrice.karatchentzeff at gmail.com> a écrit :
>>
>>> Bon, ça fonctionne correctement 😊
>>>
>>> Par contre, le paquet .deb est moyennement fait : tout s'installe dans
>>> /opt. C'est mieux que rien mais ça oblige à jongler avec des liens.
>>>
>>> Merci pour tout
>>>
>>> PK
>>>
>>> Le 17 novembre 2017 à 19:43, Patrice Karatchentzeff <
>>> patrice.karatchentzeff at gmail.com> a écrit :
>>>
>>>> Super... ça m'avait échappé et je tentais un backport...
>>>>
>>>> Merci 😊
>>>>
>>>> Le 17 novembre 2017 à 19:29, Dominix <d.minix at gmail.com> a écrit :
>>>>
>>>>> la ref pour rakudo (sauf core-devs) c'est
>>>>> https://github.com/nxadm/rakudo-pkg/releases
>>>>>
>>>>>
>>>>> Le 16/11/2017 à 22:52, Patrice Karatchentzeff a écrit :
>>>>>
>>>>> Salut Laurent
>>>>>
>>>>> J'ai celle emballée d'origine sur mon Linux :
>>>>>
>>>>> # perl6 -v
>>>>> This is perl6 version 2015.11 built on MoarVM version 2015.11
>>>>>
>>>>> C'est effectivement pas très récent...
>>>>>
>>>>> Je vais chercher un paquet plus récent.
>>>>>
>>>>> Merci
>>>>>
>>>>> PK
>>>>>
>>>>> Le 16 novembre 2017 à 20:02, Laurent Rosenfeld <
>>>>> laurent.rosenfeld at googlemail.com> a écrit :
>>>>>
>>>>>> Bonjour,
>>>>>>
>>>>>> pour moi, au REPL Rakudo, ça marche:
>>>>>>
>>>>>> > say DateTime.new(now) - DateTime.new(:year(2017), :month(10),
>>>>>> :day(7), :hour(17), :minute(30))
>>>>>> 3461273.374529
>>>>>> True
>>>>>>
>>>>>> Et d'ailleurs ça marche aussi avec un script uniligne à la ligne de
>>>>>> commande avec l'option -e.
>>>>>>
>>>>>> Quelle version de Rakudo utilises-tu?
>>>>>>
>>>>>> Cordialement,
>>>>>> Laurent.
>>>>>>
>>>>>>
>>>>>> Le 16 novembre 2017 à 17:40, Patrice Karatchentzeff <
>>>>>> patrice.karatchentzeff at gmail.com> a écrit :
>>>>>>
>>>>>>> Salut
>>>>>>>
>>>>>>> Je fais mumuse avec Perl6 et je ne comprends pas l'erreur suivante :
>>>>>>>
>>>>>>>
>>>>>>> % perl6 -e 'say DateTime.new(now) - DateTime.new(:year(2017),
>>>>>>> :month(10), :day(7), :hour(17), :minute(30))'
>>>>>>> Cannot call Numeric(DateTime: ); none of these signatures match:
>>>>>>>     (Mu:U \v: *%_)
>>>>>>>   in block <unit> at -e:1
>>>>>>>
>>>>>>> ​Quand on fait
>>>>>>>
>>>>>>> ​% perl6 -e 'say DateTime.new(:year(2017), :month(10), :day(7),
>>>>>>> :hour(17), :minute(30))'
>>>>>>> 2017-10-07T17:30:00Z
>>>>>>>
>>>>>>> % perl6 -e 'say DateTime.new(now) '
>>>>>>> 2017-11-16T16:31:28Z
>>>>>>>
>>>>>>> On a bien le même format...
>>>>>>>
>>>>>>> Merci de l'explication du code retour de l'erreur car c'est
>>>>>>> cryptique :-(
>>>>>>>
>>>>>>> ​PK​
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>>       |\      _,,,---,,_           Patrice KARATCHENTZEFF
>>>>>>> ZZZzz /,`.-'`'    -.  ;-;;,_   mailto:patrice.karatchentzeff@
>>>>>>> gmail.com
>>>>>>>      |,4-  ) )-,_. ,\ (  `'-'      http://p.karatchentzeff.free.fr
>>>>>>>     '---''(_/--'  `-'\_)
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Perl mailing list
>>>>>>> Perl at mongueurs.net
>>>>>>> http://listes.mongueurs.net/mailman/listinfo/perl
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Perl mailing list
>>>>>> Perl at mongueurs.net
>>>>>> http://listes.mongueurs.net/mailman/listinfo/perl
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>       |\      _,,,---,,_           Patrice KARATCHENTZEFF
>>>>> ZZZzz /,`.-'`'    -.  ;-;;,_   mailto:patrice.karatchentzeff at gmail.com
>>>>>      |,4-  ) )-,_. ,\ (  `'-'      http://p.karatchentzeff.free.fr
>>>>>     '---''(_/--'  `-'\_)
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Perl mailing listPerl at mongueurs.nethttp://listes.mongueurs.net/mailman/listinfo/perl
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Perl mailing list
>>>>> Perl at mongueurs.net
>>>>> http://listes.mongueurs.net/mailman/listinfo/perl
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>>       |\      _,,,---,,_           Patrice KARATCHENTZEFF
>>>> ZZZzz /,`.-'`'    -.  ;-;;,_   mailto:patrice.karatchentzeff at gmail.com
>>>>      |,4-  ) )-,_. ,\ (  `'-'      http://p.karatchentzeff.free.fr
>>>>     '---''(_/--'  `-'\_)
>>>>
>>>
>>>
>>>
>>> --
>>>       |\      _,,,---,,_           Patrice KARATCHENTZEFF
>>> ZZZzz /,`.-'`'    -.  ;-;;,_   mailto:patrice.karatchentzeff at gmail.com
>>>      |,4-  ) )-,_. ,\ (  `'-'      http://p.karatchentzeff.free.fr
>>>     '---''(_/--'  `-'\_)
>>>
>>> _______________________________________________
>>> Perl mailing list
>>> Perl at mongueurs.net
>>> http://listes.mongueurs.net/mailman/listinfo/perl
>>>
>>>
>>
>> _______________________________________________
>> Perl mailing list
>> Perl at mongueurs.net
>> http://listes.mongueurs.net/mailman/listinfo/perl
>>
>>
>
>
> --
>       |\      _,,,---,,_           Patrice KARATCHENTZEFF
> ZZZzz /,`.-'`'    -.  ;-;;,_   mailto:patrice.karatchentzeff at gmail.com
>      |,4-  ) )-,_. ,\ (  `'-'      http://p.karatchentzeff.free.fr
>     '---''(_/--'  `-'\_)
>
> _______________________________________________
> Perl mailing list
> Perl at mongueurs.net
> http://listes.mongueurs.net/mailman/listinfo/perl
>
>
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://listes.mongueurs.net/mailman/private/perl/attachments/20171119/b1a87530/attachment-0001.html>


Plus d'informations sur la liste de diffusion Perl