Quand met-on des parenthèses?
Le
Patrice
Bonjour à tous,
veuillez pardonner cette question de novice, mais je n'ai jamais su, depuis
le temps que je fais du perl, quand est-ce qu'on met des parenthèses de
quand est-ce qu'on ne les met pas? Par exemple, quand j'étais jeune j'ai
appris que la syntaxe de push était push(@toto,$titi) . Mais je me suis
aperçu que push @toto, $titi sans parenthèses marchait aussi bien. Pareil
pour split. En revanche, dans certains cas, si on retire les parenthèses on
a une erreur de syntaxe (je n'ai pas d'exemple sous la main). Y a t il une
règle?
Merci d'avance de vos réponses et bonne journée,
PC
veuillez pardonner cette question de novice, mais je n'ai jamais su, depuis
le temps que je fais du perl, quand est-ce qu'on met des parenthèses de
quand est-ce qu'on ne les met pas? Par exemple, quand j'étais jeune j'ai
appris que la syntaxe de push était push(@toto,$titi) . Mais je me suis
aperçu que push @toto, $titi sans parenthèses marchait aussi bien. Pareil
pour split. En revanche, dans certains cas, si on retire les parenthèses on
a une erreur de syntaxe (je n'ai pas d'exemple sous la main). Y a t il une
règle?
Merci d'avance de vos réponses et bonne journée,
PC

Poser une question


"Patrice"
Les parenthèses des appels de fonctions sont optionnelles si la
fonction appelée est déjà déclarée. Ex :
sub retourne {
return reverse @_;
}
print retourne 1, 2, 3; # affiche 321
Mais elle redeviennent utiles pour fixer la fin d'une liste
d'arguments :
print retourne(1, 2), 3; # affiche 213
--
Paul Gaborit - Perl en français -
C'est surtout question de lisibilité : dans cet exemple je les mettrais.
--
Patrick Texier
vim:syntax=mail:ai:ts=4:et:twr
Pour ma part, pour justement, des questions de lisibilité, je les mets
partout où elles ont un sens.
Systématiquement, donc, dans les appels de fonctions. Même les fonctions
sans paramètres, j'ai toujours tendance à préférer la notation func() à
la notation &func C'est plus cohérent, amha.
Et pour résumer, mon "coding style" est de se rapprocher le plus
possible de la syntaxe C/C++ chaque fois que possible. Je ne prétends
pas que c'est le meilleur style, mais il faut bien en choisir un, et s'y
tenir, sous peine de ne pas pouvoir relire son propre code.
--
XAv
Disponible au 01/06/2010
Cote coding style, j'ai completement arrete de les mettre pour les appels
de methods sans parametre. Et je trouve ca vachement plus lisible,
Par exemple:
my $o = $plist->signature;
my $r = $n->compare($o);
$state->print("Comparing full signature for ",
$plist->pkgname, " "", $o->string, "" vs. "",
$n->string,"": ")
if $state->verbose >= 3;
Patrick Texier
C'est sûr : le fait qu'elles soient optionnelles n'empêche pas de les
utiliser.
--
Paul Gaborit - Perl en français -