Bonjour,
Je dispose d'un objet avec un attribut BESOINS qui est un tableau de 4 valeurs.
Quand j'effectue une action sur cet objet, je dois modifier ce tableau et lui ajouter une liste modificative, terme à termes.
Exemple :
BESOINS = (10, 0, 6, 5)
Liste modificative de mon action : (-8, +4, +1, +1)
Besoins après action : (10-8 , 0+4, 6+1, 5+1) = (2, 4, 7, 6)
deux questions :
* Existe-t-il un autre moyen, plus élégant, qu'une boucle et d'une addition simple terme à terme pour faire ça? ou un module quelconque sur des opérations avec des matrices existe? (dans ce cas, pas sur que ce soit fondamentalement plus efficace...?)
* Surtout, je me pose la question de l'accès à ce tableau. Je m'y connais très peu en POO ; naïvement je me dis que $this->{BESOINS} renvoie la référence, et non le tableau, si? Dois-je systématiquement récupérer la référence de ce tableau, la modifier, et refaire pointer vers ma nouvelle liste?
Genre pour le moment j'ai un truc comme ça :
Et je trouve ça un peu moche... !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 $this -> {BESOINS} = ajoute ($this -> {BESOINS} , @liste_modificative) ; sub ajoute{ my ($ref, @valeurs) = @_ ; my @temp = @$ref ; for ($i = 0, $i<@temp , $i++){$temp[$i]+=$valeurs[$i]} #la fameuse boucle, sujet de ma première question ;) $ref = \@temp ; return $ref ; }
D'avance merci pour votre aide !
Partager