pyENL icon indicating copy to clipboard operation
pyENL copied to clipboard

Duplicación de variables en tabla

Open jon85p opened this issue 4 years ago • 1 comments

Ejemplo: f = 5[cm] - 8 n = 2

Se duplica aparentemente la variable "n", cuando no se activa evento de escritura o cambio de pestaña (es decir copiar, pegar e inmediatamente después darle en Resolver)

Para que ocurra, tienen que ir unidades en el texto para que ocurra.

jon85p avatar Dec 26 '20 23:12 jon85p

Inicialmente cuando se ingresa a la función solve cuando se presiona el boton para resolver el sistema de eq, se crea el backup de la lista donde están los objetos de cada variable: https://github.com/jon85p/pyENL/blob/56e4298c79823a1484555fca67a3932800b06406/pyENL.py#L599

Luego dentro de solver.py en la función solver está la siguiente línea: https://github.com/jon85p/pyENL/blob/56e4298c79823a1484555fca67a3932800b06406/solver.py#L141

Se ordena pyENL_variables y esa variable es un puntero a self.variables, por lo que de ahí en adelante el orden de self.variables es diferente al orden del backup creado inicialmente

Ahora, como el sistema de ecuaciones planteado falla, entonces lo ultimo que se realiza es recuperar el backup de las variables:

https://github.com/jon85p/pyENL/blob/56e4298c79823a1484555fca67a3932800b06406/pyENL.py#L633-L635

Y ahí es donde está el inconveniente ya que el for barre las variables del backup pero internamente del for se valida con self.variables asumiendo que tienen el mismo orden que el backup!

xmagor avatar Dec 27 '20 00:12 xmagor