IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

tableaux et reference encore


Sujet :

Langage Perl

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 124
    Points : 94
    Points
    94
    Par défaut tableaux et reference encore
    bonjour, j'espère que ça va.
    je me suis encore perdu dans les références
    voilà une classe moose que j'essaie de construire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    package Memoire_date;
    #moose/Memoire_date.pm
    use Moose;
    use Data::Dumper;
    ##############################################################
    has 'tab_temps' => (
    isa     => 'ArrayRef',
    is  => 'rw',
    #lazy    => 1,
    #default => 'inconnu'
    default => sub { return []; }
    );
    ##############################################################
    ##############################################################
    has 'tab_new' => (
    isa     => 'ArrayRef',
    is  => 'rw',
    #lazy    => 1,
    #default => 'inconnu'
    default => sub { return []; }
    );
    ##############################################################
    sub set_date {
    	my $self = shift;
    	#my $date = shift;
    	my $date = 'date';
    	my @tab  = $self->tab_temps; 
    	my $longtab = @{$tab[0]};
    	my @new_tab  = $self->tab_new; 
    	my $longtabnew = @{$new_tab[0]};
    #si tabnew deja rempli je le pousse dans tab temps
    if ($longtabnew > 0) {
    	# body...
     
    my @temp = ${self}->tab_new;
    push ${self}->tab_temps, [@temp];
    print "ici tob", Dumper(${self}->tab_temps);
    #je réinitialise 
    print 'long tab ', $longtabnew;
    $self->tab_new([]);
    }
    #j'inscrit la date
    $self->tab_new->[0]->[0]= $date;
    print "\n new est ", $self->tab_new->[0]->[0];
    #print "\n new est ",${self}->tab_temps->[0]->[0]->[0]->[0];
     
    }
    ##############################################################
    no Moose;
    __PACKAGE__->meta->make_immutable;
    ce qui me donne
    ici tob$VAR1 = [
    [
    [
    [
    'date'
    ]
    ]
    ],
    [
    [
    [
    'date'
    ]
    ]
    ],
    [
    [
    [
    'date'
    ]
    ]
    ],

    etc .. dejà ça fait beaucoup de crochets
    mais ensuite si j'essaye d'acceder à mes valeurs en faisant je l'avoue n'importe quoi comme par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print "\n resultat est ",${self}->tab_temps->[0]->[0]->[0]->[0];
    non seulement je n'y arrive pas mais en plus de nouveaux tableaux se créent tous seul par autovivification.
    comme ça

    ici tob$VAR1 = [
    [
    [
    []
    ]
    ],
    [
    [
    [
    'date'
    ]
    ]
    ],
    [
    [
    [
    'date'
    ]
    ]
    ],
    [
    [
    [
    'date'
    ]
    ]
    ],

    Si vous voyez le problème ?

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 124
    Points : 94
    Points
    94
    Par défaut
    C'est toujours pareil, on comprend mieux une fois qu'on a formulé la question
    comme ça , ca fonctionne
    en fait le print était posé alors que le tableau était encore vide. et c'est pourquoi un nouveau tableau non désiré était crée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    package Memoire_date;
    #moose/Memoire_date.pm
    use Moose;
    use Data::Dumper;
    ##############################################################
    has 'tab_temps' => (
    isa     => 'ArrayRef',
    is  => 'rw',
    #lazy    => 1,
    #default => 'inconnu'
    default => sub { return []; }
    );
    ##############################################################
    ##############################################################
    has 'tab_new' => (
    isa     => 'ArrayRef',
    is  => 'rw',
    default => sub { return []; }
    );
    ##############################################################
    sub set_date {
    	my $self = shift;
    	#my $date = shift;
    	my $date = 'date';
    	my @tab  = $self->tab_temps; 
    	my $longtab = @{$tab[0]};
    	my @new_tab  = $self->tab_new; 
    	my $longtabnew = @{$new_tab[0]};
    #si tabnew deja rempli je le pousse dans tab temps
    if ($longtabnew > 0) {
    	# body...
     
    my @temp = ${self}->tab_new;
    push ${self}->tab_temps, [@temp];
    #je réinitialise 
    print 'long tab ', $longtabnew;
    $self->tab_new([]);
    #comme ça, ça fonctionne.
    print "\n ancien est ",${self}->tab_temps->[0]->[0]->[0]->[0];
    }
    #j'inscrit la date
    $self->tab_new->[0]->[0]= $date;
    print "\n new est ", $self->tab_new->[0]->[0];
     
    }
    ##############################################################
    no Moose;
    __PACKAGE__->meta->make_immutable;

  3. #3
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    j'aurais eu du mal à trouver
    Tu fais du LISB* en PERL ?

    *(List of Insipid and Stupid Brackets)
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 124
    Points : 94
    Points
    94
    Par défaut
    Citation Envoyé par Philou67430 Voir le message
    j'aurais eu du mal à trouver
    Tu fais du LISB* en PERL ?

    *(List of Insipid and Stupid Brackets)
    ben je sais pas trop ce que c'est que le lisb, mais vu comme tu'l dis ça doit être chouette...

  5. #5
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Points : 12 469
    Points
    12 469
    Billets dans le blog
    1
    Par défaut
    Moi, je connaissais le langage LISP (lots of insipid and stupid parentheses).


    Ça me rappelle un type qui se vantait sur un forum d'avoir réussi à pénétrer les ordinateurs du Pentagone et à dérober le programme LISP de la guerre des étoiles. Pour le prouver, il fournissait la dernière page de code:







    Voir ci-dessous:








    Plus bas:








    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

  6. #6
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    Mon "LISB" n'existe pas... c'était une blague qui faisait référence à LISP (langage de programme nommé à partie de "list processing") dont l'acronyme a effectivement été retraduit, et dont j'avais en mémoire la version apprise à l'école "List of Insipid and Stupid Parenthesis". Il semble en fait que "List" est à remplacer par "Lots" (ou remplacer "List of" par "Lost in").

    Mais comme l'a énoncé Lolo, il y a d'autres acronymes, et Wikipedia en donne encore un autre :
    Les listes sont délimitées par des parenthèses et leurs éléments sont séparés par des espaces : (1 2 "foo"). Un programme Lisp est un arbre de syntaxe composé avec des listes. Cette utilisation des parenthèses donne lieu à des moqueries sur le nom de LISP : « Lots of Irritating and Silly Parentheses » (« Des tas de parenthèses irritantes et idiotes »), ou « Lots of Insipid and Stupid Parentheses » (« Des tas de parenthèses insipides et stupides »).
    Nostalgie...
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 124
    Points : 94
    Points
    94
    Par défaut
    Citation Envoyé par Philou67430 Voir le message
    Mon "LISB" n'existe pas... c'était une blague qui faisait référence à LISP (langage de programme nommé à partie de "list processing") dont l'acronyme a effectivement été retraduit, et dont j'avais en mémoire la version apprise à l'école "List of Insipid and Stupid Parenthesis"
    Merci, j'avais compris. Je under stand un little petit peu l'anglais. Par contre du point de vu de la poiêtikês (c'est du grec) je trouve que braquets sonne mieux dans la dictée
    ouvrez les Brackets : "List of Insipid and Stupid Brackets". On dirait du Shakespeare.
    Ach nostalgie. ça me rappelle les blagues de ma jeunesse.

Discussions similaires

  1. Encore un problème avec les tableaux
    Par george216 dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 13
    Dernier message: 18/05/2009, 17h21
  2. Programmer encore en VB 6 c'est pas bien ? Pourquoi ?
    Par Nektanebos dans le forum Débats sur le développement - Le Best Of
    Réponses: 85
    Dernier message: 10/03/2009, 14h43
  3. reference sur des tableaux ?
    Par myriamulrik dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 1
    Dernier message: 04/12/2008, 14h17
  4. [Tableaux] encore une erreur du au changement
    Par cyrill.gremaud dans le forum Langage
    Réponses: 17
    Dernier message: 15/06/2006, 09h47
  5. Les tableaux en PL/SQL
    Par GRUMLY dans le forum PL/SQL
    Réponses: 5
    Dernier message: 12/08/2002, 18h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo