Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

arguments de sub...

3 réponses
Avatar
Thomas vO
Bonjour,

J'ai une petite question, je suis tombé récemment sur une sub qui était
définie :

sub xxx($$;@) {
my ($x, $y, $z) = @_;

}

Je ne comprends pas la syntaxe utilisée "$$;@" ; quelqu'un pourrait me
mettre sur une piste ?

(je sais que $$ correspond au PID, mais je vois pas l'intêret… pour
info, c'est dans les sources d'ikiwiki…)

--
Tiens, ça je connaissais pas. Tu peux m'en dire plus ? (Ma religion
m'interdit de lire la doc le vendredi...)
-+- mpg in fr.comp.text.tex -+-

3 réponses

Avatar
Jean-Louis Morel
Le 10/02/2013 11:57, Thomas vO a écrit :
Bonjour,

J'ai une petite question, je suis tombé récemment sur une sub qui était
définie :

sub xxx($$;@) {
my ($x, $y, $z) = @_;

}

Je ne comprends pas la syntaxe utilisée "$$;@" ; quelqu'un pourrait me
mettre sur une piste ?

(je sais que $$ correspond au PID, mais je vois pas l'intêret… pour
info, c'est dans les sources d'ikiwiki…)




Voir prototypes dans la doc perlsub :

http://www.bribes.org/perl/docfr/perlsub.html#L016786F8

HTH

--
J-L
http://www.bribes.org/perl
Avatar
Le TeXnicien de surface
Le 10/02/2013 11:57, Thomas vO a écrit :
Bonjour,

J'ai une petite question, je suis tombé récemment sur une sub qui était
définie :

sub xxx($$;@) {
my ($x, $y, $z) = @_;

}

Je ne comprends pas la syntaxe utilisée "$$;@" ; quelqu'un pourrait me
mettre sur une piste ?



Dans la 3e éd. en français de «Programmation en PERL» on parle de
prototypes.

Il s'agit (extrait sec du susdit livre) de permettre de définir des
sous-programmes qui fonctionnent comme les commandes internes.

exemples fournis

déclaré comme | appelé comme
sub monlink($$) | monlink $ancien, $nouveau
sub monreverse(@) | monreverse $a, $b, $c


(je sais que $$ correspond au PID, mais je vois pas l'intêret… pour
info, c'est dans les sources d'ikiwiki…)




jeqça

--
Le TeXnicien de surface
Avatar
espie
le point le plus important etant peut-etre que les prototypes ne fonctionnent
pas du tout "comme" dans d'autres langages (ils ne verifient pas le type
des parametres, ils forcent les parametres a avoir "le bon' type), ce qui
occasionne souvent de grosses surprises.

(le 2e point etant que les prototypes ne marchent pas avec les methodes, ce
qui les rend plus ou moins inutiles pour de la programmation recente avec
du perl de base, e.g., sans Moose).