Auguri per MQL5 - pagina 38

 
SK. писал (а):

Vorrei anche una pausa da if().

Non ho visto qualcosa del genere nei linguaggi di programmazione popolari...


komposter:

Mi sono imbattuto in un codice simile a questo:

while ( true )
{
   if ( condition1 )
   {
      Alert("1");
      break;
   }
 
   if ( condition2 )
   {
      Alert("2");
      break;
   }
 
   break;
}
Penso che sia quello che serve ;)

Non indossano i classici questa primavera? :-) Vediamo un vestito fatto solo di IF:


if (condition) { // ЭТО IF, КОТОРЫЙ НУЖНО BREAK'НУТЬ ОДНИМ ИЗ НЕСКОЛЬКИХ УСЛОВИЙ
 
  // ...тут делаем че-нить полезное...  
 
  if (!break_condition1) {
 
    // ...продолжаем делать полезное...  
 
    if (!break_condition2) {
 
      // ...продолжаем делать полезное...  
  
    }
  }
}
 
ds2:

Non indossano già dei classici questa primavera? :-) Vedere un vestito fatto solo di IF:

Non leggono più la discussione della domanda prima di rispondere? ;)
"Ordinato" esattamente una pausa da un if, non un albero infinito "!break_condition".

 
ds2:
SK. ha scritto (a):

Vorrei anche una pausa da if().

Non ho visto qualcosa del genere nei linguaggi di programmazione popolari...

О. Ecco, proprio così, proprio sui soldi.

L'affermazione positiva in questa dichiarazione è che se non è in altre lingue, è male, significa che è qualcosa di straniero e non necessario.

Secondo me non è affatto così. Dovremmo piuttosto cercare l'armonia nella popolarità. La moda non è altro che una vivida conferma dell'effetto gregge. Le cose alla moda sono raramente veramente utili o comode. I prodotti spazzatura non hanno mai pesato nella mente dell'uomo comune.

Non prenderla sul personale, per favore.

Il break and continue è solo un piccolo strumento tecnico.

Se guardate attentamente molti programmi, troverete che la necessità di uscire da un costrutto complesso non si presenta solo nel caso di loop o scorrimenti per la semplice ragione che i costrutti complessi non si formano solo sulla base di loop e liste. Si formano anche sulla base dei "se". Quindi sarebbe utile una transizione controllata verso una parentesi di chiusura esterna.

Non è questo il punto. Quello che volevo dire è che questo "pensare": "non ne ho bisogno" è un ostacolo molto potente allo sviluppo. È molto più utile, secondo me, essere in costante ricerca e non rifiutare dalla considerazione di nuove decisioni, se hanno almeno un grano di utilità.

 
SK. писал (а):
ds2:

Non ho visto niente del genere nei linguaggi di programmazione popolari...

...

rompere e continuare è solo un piccolo strumento tecnico.

...

L'idea è grande, penso che tutti saranno felici se il break for if è diverso dal break for while (breakif, breakwhile, breakfor, breakcase per esempio)

 


karakuts All'inizio volevo chiedere perché dovrebbero essere differenziati, ma poi ho capito. È più facile e più logico aggiungere solo un breakif.


P.S. Avviato con l'editor, ho ucciso tutto - le mie scuse.

 
karakuts:

L'idea è grande, penso che tutti saranno felici se il break for if è diverso dal break for while (breakif, breakwhile, breakfor, breakcase per esempio)

A proposito, ecco uno sviluppo dell'idea. Fare una distinzione in breakfor, breakcase, ecc. sarebbe utile di per sé. Si eviterebbe la necessità di eseguire (e codificare prima) un sacco di controlli per uscire da un complesso costrutto annidato. Lo stesso per continuare.

 

Ed è ancora più facile, per evitare una cacofonia di pause diverse, introdurre un solo goto: anche Wirth, che lo ha criticato, lo ha lasciato nel suo Pasquale. Il goto, tra l'altro, ha un meccanismo naturale per segnare un segno di transizione, che è facile da rendere mnemonico.

 
Mathemat:

Ed è ancora più facile, per evitare una cacofonia di pause diverse, introdurre un solo goto: anche Wirth, che lo ha criticato, lo ha lasciato nel suo Pasquale. Goto, tra l'altro, ha un meccanismo naturale per marcare un segno di transizione, che è facile da rendere mnemonico.

Non uso l'operatore di salto incondizionato da circa 10 anni, ci sono stati linguaggi di programmazione (ad alto livello all'epoca) dove non puoi farne a meno, ma ora è un atavismo! :)

P.S. Sono favorevole a mantenerlo, quattro GOTO riportano bei ricordi :)

 
Mathemat:

Ed è ancora più facile introdurre un solo goto, per evitare una cacofonia di pause diverse: anche Wirth, che lo ha criticato, lo ha lasciato nel suo Pasquale. Goto, tra l'altro, ha un meccanismo naturale per marcare un segno di transizione, che è facile da rendere mnemonico.

Meraviglioso. Abbiamo una tale cacofonia di rane al fiume in estate:) D'ora in poi li chiamerò breaker:)

 

Un'altra cosa sugli esterni.

Sarebbe conveniente fare delle variabili "condizionali" - variabili la cui visibilità e possibilità d'uso dipendono da altre variabili esterne.

Per esempio, c'è una funzione "Filter by Parabolic", che è abilitata dalla variabile booleana corrispondente. Ha dei parametri - "passo" e "massimo" dell'indicatore parabolico. Quindi, i parametri dovrebbero essere visibili e disponibili per la modifica solo quando "Parabolic Filter = true".

Esempio 2: Expert Advisor sull'intersezione di 2 medie. Il periodo di media lenta deve essere limitato dal periodo di media veloce (e viceversa). Cioè se fastPeriod = 20, slowPeriod non deve prendere valori inferiori a 21.

Motivazione: