Verwirrung über das Verhalten der Variablen - Seite 3

 
valenok2003:


Vlad, hier liegt ein Fehler vor, die Initialisierung erfolgt jedes Mal, wenn Sie externe Parameter ändern. Und genau das ist es, worum es geht, wenn es um die Inite geht.

lieber valenki.

Es geht nicht um das Internet.

Lesen Sie den letzten Beitrag mit einem Beispiel

 
wlad:

Hier ein ähnliches Beispiel

der Wert der ersten Variablen wird nur einmal an die zweite Variable übergeben, und der Wert der zweiten Variablen sollte sich bei der weiteren Ausführung des Programms nicht ändern

aber jedes Mal, wenn die erste Variable geändert wird, ändert sich der Wert der zweiten Variable, was nicht der Fall sein sollte

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);                              
}

die erste Variable ist Value oder temp_? wie kann man sie ändern? Sie ändern den Wert von Value im Netz, richtig?

dann drücken Sie OK, und

werden die Variablen auf ihre ursprünglichen Werte zurückgesetzt, wie Sie sie beschrieben haben.

string temp_=""; 
bool   firsttime=true;

jedes Mal, wenn Sie den Wert über Set ändern, wird dieser Vorgang wiederholt

 

Versuchen Sie, den Wert programmatisch zu ändern

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);
   

und Sie werden sehen, dass temp_ und firsttime sich einmal ändern und dann nichtmehr

 
valenok2003:

Versuchen Sie, den Wert programmatisch zu ändern

und Sie werden sehen, dass temp_ und firsttime sich einmal ändern und dann niewieder

ausdrücklich

Ich habe nur von der Änderung einer externen Variablen gesprochen.

 
valenok2003:

die erste Variable ist Value oder temp_? wie kann man sie ändern? Sie ändern den Wert von Value im Netz, richtig?

Dann drücken Sie OK, und

und die Variablen werden auf ihre ursprünglichen Werte zurückgesetzt, wie Sie sie beschrieben haben.

Jedes Mal, wenn Sie den Wert mit set ändern, wird dieser Vorgang wiederholt.


Ja, nicht das Original, sondern mit einer externen Variable extern string

die Sie nicht sorgfältig lesen wollen

Ich habe es schon viele Male geschrieben

das Problem tritt nur bei Variablen des Typs string auf, bei anderen Typen gibt es keine Probleme!


 
valenok2003:

die erste Variable ist Value oder temp_? wie kann man sie ändern? Sie ändern den Wert von Value im Netz, richtig?

Dann drücken Sie OK, und

und die Variablen werden auf ihre ursprünglichen Werte zurückgesetzt, wie Sie sie beschrieben haben.

Jedes Mal, wenn Sie den Wert über set ändern, wird dieser Vorgang wiederholt.

Woher haben Sie diese falschen Informationen?

Überprüfen Sie lieber selbst, ob es falsch ist.

Das steht alles in der Hilfe.

Ich habe Ihnen ein Beispiel gegeben

und du denkst dir Dinge aus, die es nicht gibt.

 
Im Allgemeinen möchte ich, dass die Entwickler folgende Punkte beachten
 
wlad:
Im Allgemeinen möchte ich, dass die Entwickler folgende Punkte beachten

Vielleicht sollten wir unsere Spitznamen tauschen? Oder handelt es sich nur um einen Scherz?
 

Testen Sie es selbst.

und Sie werden sehen, was es damit auf sich hat

 
wlad:
Im Allgemeinen möchte ich, dass die Entwickler folgende Punkte beachten

Was haben die Entwickler damit zu tun? Möchten Sie, dass sie Ihre Variable auf ihrem Server speichern? Während Ihr Computer wegen eines Stromausfalls hängen bleibt und neu startet?