Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1918 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  diffences entre ces 2 tableaux

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

diffences entre ces 2 tableaux

n°1535886
dav-42
Posté le 29-03-2007 à 15:41:47  profilanswer
 

Bonjour,
 
Quelle est la différence (s'il y en a une) entre ces 2 tableaux:
 

Code :
  1. @tableau["chaine1", "chaine2"];


 
et
 

Code :
  1. @tableau("chaine1", "chaine2" );


 
Merci

mood
Publicité
Posté le 29-03-2007 à 15:41:47  profilanswer
 

n°1535924
anapajari
s/travail/glanding on hfr/gs;
Posté le 29-03-2007 à 16:30:54  profilanswer
 

j'imagine qu'il manque les égales à tes deux ecritures...  
 
La première crée un tableau d'un seul élément, cet élément étant une référence sur un tableau anonyme de deux éléments "chaine1" et "chaine2"
La deuxime crée un tableau de deux éléments "chaine1" et "chaine2".
 
Donc oui y'a une grosse différence [:dawak]

n°1535940
dav-42
Posté le 29-03-2007 à 16:40:28  profilanswer
 

Merci
Effectivement j'ai oublié les = :)
Dans le premier cas finalement on a un amour de pointeur

n°1535947
anapajari
s/travail/glanding on hfr/gs;
Posté le 29-03-2007 à 16:48:43  profilanswer
 

Une référence  [:alloy]
 
Je cite "Advanced Perl Programming":

Citation :

Perl [...] allows you to create anonymous data structures, and supports a fundamental data type called a "reference," loosely equivalent to a C pointer. Just as C pointers can point to data as well as procedures, Perl's references can refer to conventional data types (scalars, arrays, and hashes) and other entities such as subroutines, typeglobs, and filehandles. Unlike C, they don't let you peek and poke at raw memory locations.

n°1535959
dav-42
Posté le 29-03-2007 à 16:58:41  profilanswer
 

Anonyme me fait un peur :/
Dans le cas de mon tableau:
@tableau=["chaine1", "chaine2"];
Est il possible d'ajouter des éléments à mon tableau référencé.
Merci

n°1535969
anapajari
s/travail/glanding on hfr/gs;
Posté le 29-03-2007 à 17:08:00  profilanswer
 

tu es bien d'accord que la tableau référencé donc tu parles il est dans $tableau[0] ???
Donc en fait pour accèder à chaine2 tu dois faire $$tableau[0][1] ( ou $tableau[0]->[1]) ... Je comprends vraiment pas l'intérêt!!!
Par contre tu peux tout à fait pusher dans ce tableau anonyme à condition de déréférencer ton tableau lors de l'appel:

Code :
  1. push @$tableau[0], "chaine 3";


et ne surtout pas faire

Code :
  1. push @tableau, "chaine3";


Sinon tu va te retrouver avec "tableau" qui contiendra deux elements:
- le premier étant une référence sur un tableau anonyme ( contenant chaine1 et chaine2)
- le deuxieme la chaine "chaine3"

 

Généralement quand on veut se servir d'une référence sur un tableau on fait:

Code :
  1. $ref = ["chaine1", "chaine2"];


ce qui n'evite pas le déréférencement lorsque c'est nécessaire mais evite la problématique juste au dessus.

 

Enfin tout ça c'est les bases du perl un petit tour dans la doc/un bouquin ne ferait pas de mal à mon avis :)


Message édité par anapajari le 29-03-2007 à 17:08:40
n°1536017
dav-42
Posté le 29-03-2007 à 17:53:18  profilanswer
 

Ok merci en fait mon problème est spécial et long à expliquer mais avec ca:
 push @$tableau[0], "chaine 3";
 
Je vais m'en sortir
Merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  diffences entre ces 2 tableaux

 

Sujets relatifs
[résolu] array_unique() pour tableaux multidimensionnelsles tableaux sont limités en C++ comment faire?
renvoyer 2 tableaux avec returnFusion de deux tableaux(Noob Inside)
fgetcsv, fputcsv et les tableaux associatifsRecherche informations pour PL7pro(tableaux, graphiques, enre ! please
alignement horizontale de tableaux dans une divles tableaux ....
[Excel/VBA] Manipulation de tableaux à 2 dimensions 
Plus de sujets relatifs à : diffences entre ces 2 tableaux


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)