Bonjour,
Dans les cours et tutoriels PERL : Nouvelle présentation sur les nouveautés de Perl 5.20 (issue des journées Perl 2014).
Bonne lecture !
N'hésitez pas à laisser des commentaires.
Version imprimable
Bonjour,
Dans les cours et tutoriels PERL : Nouvelle présentation sur les nouveautés de Perl 5.20 (issue des journées Perl 2014).
Bonne lecture !
N'hésitez pas à laisser des commentaires.
Que pensez-vous des déréférence postfixée ?
Pas grand chose, je ne suis pas convaincu de leur intérêt. Nous avons déjà la méthode sigil+block qui marche toujours pour déréférencer, elle n'est pas plus longue et au moins aussi claire... Connais-tu des exemples où la nouvelle syntaxe rend les choses plus claires ? Peut-être une suite de déréférenciation ?
--
Jedaï
Quand j'ai vu l'écriture, je me suis aussi dit quel est l'intérêt :koi: !
Par contre, les tranches de hash et les signatures ont l'air assez intéressantes à terme (mais pour l'instant à éviter pour rester compatible).
Surtout qu'il y a tellement de va et vient dans les nouveautés que je n'ose plus les utiliser. Un coup il y a une nouvelle fonctionnalité, un coup elle est dépréciée, bref, ça devient difficile à suivre. Donc pour les gros développements ou développement de modules, je n'utilise pas les nouveautés.
Bof, les déréférences postfixées, pas vraiment convaincu. En même temps, même si je m'y mets petit à petit, je ne suis pas grand fan de la notation ->, c'est peut-être moi.
Mais en revanche, les signatures, ça me paraît super intéressant, même si je n'ai pas encore pu tester pour l'instant.
Personnellement, je suis adepte de la notation ->, et naturellement, le déréfencement postfixé m'interesse. J'y vois l'avantage principal de "libérer" la vue et l'esprit des blocs qui sont très souvent indispensables :
La lecture n'est pas perturbée par les imbrications/suite de blocks, et leur bonne ordonnancement/hiérarchisation.Code:
1
2
3
4
5 say $$scalar_ref; # OK, pas besoin de $scalar->$* say ${$array_of_hash[0]}{toto}; # pratique dans ce cas $array_of_hash[0]->{toto} (déjà dispo) say join ",", @{$array_of_array[0]}; # pourquoi par en 5.20 $array_of_array[0]->@*; say @{$array_of_hash[0]}{qw(toto titi)}; # vraiment pratique en 5.20 $array_of_hash[0]->@{qw(toto titi)}
J'utilise fréquemment les hash slice ou array slice avec des structures à plusieurs niveaux, et cette feature 5.20 me semble plus claire à l'usage que la notation actuelle sigil+block. On voit plus facilement le symbole racine du déréférencement. En revanche, on perd l'information en début d'expression, du type retourné par l'expression (scalaire, tableau ou hash ... l'information se situe à la fin). C'est assez inhabituel en perl où normalement, le premier sigil signe toujours le type retourné.
Voilà mon avis sur la question :)