confusione sul comportamento delle variabili - pagina 3

 
valenok2003:


Vlad, c'è un errore qui, l'inizializzazione avviene ogni volta che si cambiano i parametri esterni. Ed è proprio di questo che si tratta, se si tratta dell'inite.

caro valenki.

Non si tratta di internet.

leggere l'ultimo post con un esempio

 
wlad:

ecco un esempio simile

il valore della prima variabile viene passato alla seconda variabile solo una volta e il valore della seconda variabile non deve cambiare nell'ulteriore esecuzione del programma

ma ogni volta che la prima variabile viene cambiata, il valore della seconda variabile cambia, il che non dovrebbe essere il caso

extern string Value = "O";
       
string temp_="";
bool   firsttime=true;
       
int start() {
   string txt=StringConcatenate( "  Value: ",Value,"\n",
                                 "  temp_: ",temp_,"\n",
                                 "  firsttime: ",firsttime);    
   if(firsttime) { temp_=Value; firsttime=false; } // значение присваевается тольо ОДИН раз   

   Print(txt);
   Comment(txt);                              
}

la prima variabile è Value o temp_? come si fa a cambiarla? Si cambia il valore di Value nella rete, giusto?

poi si preme OK, e

le variabili vengono riportate ai loro valori originali come li avete descritti.

string temp_=""; 
bool   firsttime=true;

ogni volta che si cambia Value via set , questa procedura viene ripetuta

 

prova a cambiare il valore programmaticamente

extern string Value = "O";
       
string temp_="";
bool   firsttime=true;
int Cnt = 0;
       
int start() {
   
   Value  = "O "+Cnt; 
   Cnt++;
   string txt=StringConcatenate( "  Value: ",Value,"\n",
                                 "  temp_: ",temp_,"\n",
                                 "  firsttime: ",firsttime);    
   if(firsttime) { temp_=Value; firsttime=false; } // значение присваевается тольо ОДИН раз   
   Print(txt);
   

e vedrete che temp_ e firsttime cambieranno una volta e non cambierannopiù

 
valenok2003:

prova a cambiare il valore programmaticamente

e vedrete che temp_ e firsttime cambieranno una volta e non cambierannopiù

esplicitamente

Parlavo solo di cambiare una variabile esterna.

 
valenok2003:

la prima variabile è Value o temp_? come si cambia? Si cambia il valore di Value nella rete, giusto?

Poi si preme OK, e

e le variabili vengono riportate ai loro valori originali come li avete descritti.

Ogni volta che si cambia il valore con set , questa procedura viene ripetuta.


Sì, non l'originale, ma con una variabile esterna extern string

non vuoi leggere attentamente

L'ho già scritto molte volte

il problema si verifica solo con variabili di tipo stringa con altri tipi nessun problema!


 
valenok2003:

la prima variabile è Value o temp_? come si cambia? Si cambia il valore di Value nella rete, giusto?

Poi si preme OK, e

e le variabili vengono riportate ai loro valori originali come li avete descritti.

ogni volta che si cambia il valore tramite set , questa procedura viene ripetuta.

Dove avete preso questa falsa informazione?

è meglio che controlliate e vediate voi stessi che è sbagliato

È tutto coperto dalla guida.

Ti ho dato un esempio

e ti stai inventando cose che non ci sono.

 
in generale, vorrei che gli sviluppatori prestassero attenzione a
 
wlad:
in generale, vorrei che gli sviluppatori prestassero attenzione a

Forse dovremmo scambiarci i soprannomi? O è solo uno scherzo?
 

testatelo voi stessi.

e vedrete di cosa si tratta

 
wlad:
in generale, vorrei che gli sviluppatori prestassero attenzione a

Cosa c'entrano gli sviluppatori? Vuoi che memorizzino la tua variabile sul loro server? Mentre il tuo computer si blocca e si riavvia a causa di un'interruzione di corrente?
Motivazione: