[Perl] PDL et min

Pau Amma pauamma at gundo.com
Sam 1 Aou 01:50:41 CEST 2020


On 2020-07-31 21:51, Patrick Dupre wrote:
> Bonjour,
> 
> Ce morceau de code me donne une erreur (parfois une alarme)
> 
> #!/usr/bin/perl
> 
> use PDL;

Quelles fonctions PDL exporte-t-il par défaut? Avec quels prototypes? Je 
subodore qu'il exporte une fonction min ou max avec un prototype 
différent de ces mêmes fonctions dans List::Util.

> use List::Util qw [min max] ;
> 
> print min (4, 5), "\n" ;
> 
> Prototype mismatch: sub main::min: none vs (@) at
> /usr/share/perl5/vendor_perl/Exporter.pm line 66.
>  at ./pl.pl line 4.
> Prototype mismatch: sub main::max: none vs (@) at
> /usr/share/perl5/vendor_perl/Exporter.pm line 66.
>  at ./pl.pl line 4.
> 
> Comment l'eviter ?

Dans l'example ci-dessus, enlever la ligne "use PDL;" si c'est la 
fonction List::Util::min qui est souhaitée comme ça semble être le cas. 
Ou, si c'est un exemple simplifié et que PDL est nécessaire seulement 
ailleurs dans le code, le découper en deux modules, un qui importe PDL 
et un autre List::Util. Ou, si ce découpage est impossible, utiliser 
"use List::Util ();" et List::Util::min.


Plus d'informations sur la liste de diffusion Perl