Errori, bug, domande - pagina 2889
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Tu hai un numero casuale 0, io ho 540016640
ma sono comunque numeri casuali.
Pensavo che la MQ fosse azzerata.
Pensavo che la MQ fosse stata azzerata.
Le variabili globali sembrano essere inizializzate con zero, ma ho visto diverse inizializzazioni nel corpo delle funzioni al primo passaggio. Cerco di inizializzare sempre prima dell'uso. Anche se sono d'accordo, il comportamento deve essere inequivocabile.
E un'altra dichiarazione nel corpo del ciclo, tra parentesi, rende la variabile locale al ciclo. Solo che non è nei documenti.
Inoltre, il compilatore non avverte che la variabile non è inizializzata.
Print(...) potrebbe non avvertire come se il parametro fosse passato da un riferimento non costante
Se i cicli sono gli stessi, allora il comportamento del compilatore dovrebbe essere lo stesso, ed è diverso. È qui che si trova l'errore. Hai spiegato perché c'è un avvertimento nel caso (1), allora spiega perché non c'è nel caso (2)? Cosa è cambiato in linea di principio? E poi, se viene usata una variabile non inizializzata, perché il risultato finale è giusto quando si esegue il codice?
Esiste una tale scienza - la logica. Se A e B sono uguali e A è rosso, anche B deve essere rosso, non verde
Non ho studiato programmazione, posso solo speculare logicamente, come Vasily Ivanovich e Petka speculavano sulla logica.
Nel primo caso viene eseguita l'intera stringa
e qui la variabile j non è inizializzata, ma il suo valore è assegnato alla variabile i
Nel secondo caso, anche se la variabile j non è inizializzata, nella riga successiva in cui viene usata, non viene assegnato il suo valore, ma il suo valore sì. In altre parole, la variabile j è inizializzata con il valore della variabile i
Ecco una variante senza avvertimenti
Non ho studiato per essere un programmatore, posso solo speculare logicamente, come Vasily Ivanovich e Petka speculavano sulla logica.
Nel primo caso viene eseguita l'intera stringa
e qui la variabile j non è inizializzata, ma il suo valore è assegnato alla variabile i
E chi l'ha studiato? Penso che la maggior parte delle persone qui (come me) siano autodidatti.
È necessario studiare l'operatore for loop per capire la sequenza delle operazioni. In (1), alla variabile j viene assegnato il valore di i+1
j = i+1
prima che appaia a destra dell'operatore di assegnazione
Le variabili globali sembrano essere inizializzate con zero, ma il corpo della funzione ha incontrato inizializzazioni diverse al primo passaggio.
Cerco sempre di inizializzare prima dell'uso. Anche se sono d'accordo, il comportamento dovrebbe essere inequivocabile.
E un'altra dichiarazione nel corpo del ciclo, tra parentesi, rende la variabile locale al ciclo. I dottori semplicemente non ce l'hanno.
Sì, anch'io inizializzo sempre le variabili, è come due volte due,dovrei ricordarmelo sempre.
Mi è entrato in testa dal linguaggio C ))
Quindi questo esempio di un ciclo con una variabile non inizializzata è una cattiva pratica.
Sì, anch'io inizializzo sempre le variabili, è come due volte due,bisogna ricordarlo sempre.
Mi è entrato in testa dal linguaggio C ))
Quindi questo esempio di un ciclo con una variabile non inizializzata è una cattiva pratica.
È necessario inizializzarlo, ma solo con un valore significativo. Non c'è questo valore nell'esempio precedente, quindi non è una cattiva pratica ed è l'unico modo possibile. Altrimenti ci sarebbe una doppia inizializzazione
Inizializzare, ma solo con un valore significativo. Non c'è un valore simile nell'esempio precedente, quindi la pratica non è cattiva, è l'unica possibile. Altrimenti ci sarebbe una doppia inizializzazione
Cosa cambierebbe se inizializzaste
Cosa cambierebbe se fosse inizializzato con j=333?
E perché da zero e non da j=333 diciamo? Cioè è un'inizializzazione senza senso che può nascondere un errore difficile da trovare
Perché zero e non 333, diciamo? Cioè è un'inizializzazione senza senso che può nascondere un errore difficile da catturare
Se avete bisogno di catturare un errore di questo valore, beh, inizializzatelo con 333 ))
È solo un valore iniziale.