Présentation des tableaux en Perl.

J'ai ouvert une catégorie programmation, il y a quelques semaines. J'y ai déjà posté des articles et je compte continuer. Je vais essayer (( En espérant que je trouve des choses à raconter assez souvent, ce n'est pas toujours simple )) de faire plus d'articles sur la programmation et notamment à propos de Perl. Les articles pourraient paraître un peu trop pris par la main, même pour certaines choses assez simple, c'est pour que tout le monde puisse suivre y compris les débutants. Certains articles pourraient paraître sans intérêt et trop détaillés pour des concepts pourtant simple à comprendre, mais moi ça me plaît. Cela va me forcer à m'entraîner à bien expliquer les choses, car ce n'est pas forcément mon fort, et être encore un peu meilleur et plus à l'aise, chaque explication et relecture apporte une nouvelle compréhension, c'est le même principe que la pratique, c'est donc important surtout pour moi. Pour écrire mes articles je servirais de mes connaissances personnelles et pour structurer mes idées je m'aiderai généralement de différent écrits de référence que j'aurais pu lire, malgré que cela sera avec ma vision, il pourrait arriver que certains passage puissent vous sembler familiers (( En Perl, je pourrais par exemple m'aider du CamelBook, ou encore Perl le Livre de recettes et de différente documentation )). Désolé pour cette introduction un peu longue ça sera la dernière fois. Je vais présenter un peu l'idée du fonctionnement des tableaux en Perl. Pour commencer le plus simple serait de prendre un exemple du monde réel. Par exemple si on vous demande de citer le nom des joueurs d'une équipe de football. Vous allez tout simplement réciter une liste, vous allez donner un nom l'un après l'autre dans un ordre particulier. Perl dispose de primitives puissantes pour manipuler les listes et les tableaux. Il existe une différence entre les listes et les tableaux en Perl bien quel soit minime.
("Barthez", "Zidane", "Henry");
Nous avons donc une liste de trois footballeurs faisant parti de l'équipe de France en 98 (( championne du monde )) , dans l'ordre (( L'ordre étant dans ce cas les postes respectif de chacun, gardien de but, ensuite milieu de terrain, puis pour finir attaquant )) . On va maintenant stocker cette liste dans une variable pour pouvoir la réutiliser, nous allons utiliser un tableau.
my @players = ("Barthez", "Zidane", "Henry");
On peut constater que les deux exemples sont des groupes ordonnés de valeurs, la seul différence c'est qu'un tableau et une variable qui porte un nom, il sera donc possible d'effectuer des actions sur un tableau comme modifier sa longueur, alors qu'une liste est une notion plus éphémère. Finalement on peut se présenter un tableau comme une variable et une liste comme les valeurs qu'elle contient. Comme-dit c'est une différence minime, mais qui est tout de même bien présente. Il ne sera par exemple pas possible d'effectuer des opérations sur une liste.
pop(@tab); 
Cela fonctionne.
pop(1,2,3);
Ici par-contre il y a un problème la fonction pop à besoin d'un identifiant et pas d'une liste de valeurs. En conclusion, ce qu'il faut retenir c'est que les listes et les tableaux sont des groupements ordonnés de scalaires. Comme dans tout langage il existe des opérateurs et fonctions travaillant sur des listes et des tableaux proposant un accès plus rapide et pratique qu'un accès manuel aux éléments. En Perl il n'est pas possible d'imbriquer des parenthèses pour créer une liste de liste.
my @tab_imb = ("foo", "bar", "un", "exemple");
my @tab_imb = ("foo", "bar", ("un", "exemple"));
Les deux lignes sont donc équivalentes. Si notre besoin est un peu plus complexe et qu'on a besoin de manipuler une structure de données un peu particulière comme un tableau de hachage, ou un tableau de tableau, il nous faudra utiliser des références. Les scalaires peuvent contenir des nombres, des chaines mais aussi des références. En Perl c'est toujours en utilisant des références que l'on met en place des structures complexes à plusieurs niveau. C'est de cette manière que sont implémentés des tableaux à deux dimensions, sous la forme de tableaux de références à des tableaux, un peu de la même manière qu'avec le langage C, les tableaux à deux dimensions sont des tableaux de pointeurs vers des tableaux. Les scalaires d'un tableau sont des éléments et on peut y accéder en indiquant leur indice. Comme dans beaucoup de langage le premier élément d'un tableau en Perl est égal à 0.
my @players = ("Barthez", "Zidane", "Henry");
Le scalaire Barthez se trouve en première position du tableau, mais comme-dit on y accède de cette manière @players[0]. L'élément Zidane ce trouve en deuxième position et on y accède de cette manière @players[1]. En conclusion on a vu une première approche du fonctionnement des tableaux en Perl, on connaît à présent la différence entre un tableau et une liste, on sait comment accéder à un élément du tableau et on a une vague idée du fonctionnement des structures de données un peu plus complexe. Cela n'est bien-sur pas suffisant, mais vous permet de pouvoir commencer à utiliser des tableaux, comme-dit j'écrirai plus souvent la prochaine fois il est possible qu'on voit, comment supprimer les doublons d'un tableau, ou encore comment utiliser des tableaux dans ses programmes, ou alors comment trier un tableau.
Vus : 413
Publié par Hobbestigrou : 195