Me he encontrado queriendo hacer ciertas cosas en mis programas solo si una variable ha cambiado. Hasta ahora he estado haciendo algo como esto:¿Cómo detectar si una variable ha cambiado?
int x = 1;
int initialx = x;
...//code that may or may not change the value of x
if (x!=initialx){
doOneTimeTaskIfVariableHasChanged();
initialx = x; //reset initialx for future change tests
}
¿Hay una manera mejor/más simple de hacer esto?
Como referencia, encontré esta pregunta relacionada (aunque mal hecha): http://stackoverflow.com/q/3051114/431327 – Amplify91
No. Nada más simple. Es posible que desee envolver su código en un objeto donde x vive dentro del objeto y 'if (x! = Initialx) {...}' es un método de este objeto. Pero esto puede terminar pareciendo más complicado. –
Pero eso determinará solo cuando se ejecuta el script, una variable puede cambiar el valor antes de que se ejecute este script. Además, javascript no admite multihilo, java es un caso diferente –