Modification de tableau en attribut d'objet
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 :
Code:
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 ;
} |
Et je trouve ça un peu moche... !
D'avance merci pour votre aide !