La méthode de modification suivante modifie en quelque sorte l'ensemble de la matrice @x au lieu de générer simplement un autre élément à pousser ultérieurement. Comment venir?Comportement de tableau inattendu
def modify i, s
t = @x[-1]
t[i] = t[i] + s
t
end
@x = [ [10, 12] ]
@x << modify(0, 1)
puts @x
Edité Le code suivant ont fait l'affaire. Cependant, je me demande s'il est possible de se débarrasser du p argument
def modify p, i, s
a = p.to_a
a[i] += s*@delta[i]
Vector.elements(a)
end
Pouvez-vous préciser ce que vous essayez d'accomplir ici. Que voulez-vous que la méthode fasse? Aussi, pourquoi faites-vous référence à une variable d'instance spécifique ('@ x') dans la méthode, plutôt que, disons,' self'? – Telemachus
il est clair exactement pourquoi cette méthode modifie l'ensemble @x. on ne sait pas ce que vous essayez d'accomplir. Quelle est l'application de cela? pouvez-vous élaborer sur le contexte? – avguchenko
Je suis en train de modifier un vecteur partagé (@x [-1]), puis j'applique une version modifiée au tableau @x. – gmile