Dans l'ensemble, ce n'est pas un mauvais article - il est meilleur que les manuels de programmation, moins aride et plus lucide.
Je n'ai pas aimé l'exemple :"Tableau multidimensionnel utilisant la POO". C'est une implémentation simple, mais le travail ultérieur avec un tel tableau dynamique est plutôt "délicat", pour moi il serait préférable de ne pas avoir cet exemple plutôt qu'une construction aussi effrayante, imho.
- www.mql5.com
Le début du tutoriel de programmation MQL5 est presque terminé
La seule chose est que l'implémentation du tableau sur OOP semble très tendue
Ce n'est pas mal écrit, mais l'article ne dit pas un mot sur CArray et ses descendants.
Les débutants peuvent penser que pour travailler avec des tableaux dans le style OOP, il faut écrire ses propres classes, mais elles ont été écrites il y a longtemps.
CArray et tous ses descendants devraient être anathématisés.
De telles choses devraient être écrites sur des modèles.
La seule chose est que l'implémentation des tableaux en OOP semble très tendue
Elle l'est un peu :)
Des suggestions sur la façon dont ce tableau peut être mieux fait en OOP ?
J'essaie d'obtenir quelque chose comme en JavaScript :
var ar=new Array() ;
ar[0]=new Array() ;
ar[1]=new Array() ;
ar[2]=new Array() ;
ar[0][0]=1 ;
ar[0][1]=2 ;
alert(ar[0][1]) ;
Le plus gros problème est qu'en JavaScript, on peut mettre une liste dans un tableau en une seule fois :
ar[0][2]=Array(131,132,133,134);
alert(ar[0][2][3]);
Et il n'y a aucun moyen d'arriver à une telle chose ici. Par conséquent, quelle que soit la façon dont vous envisagez la question, il n'y aura pas de bonne variante. il n'y aura pas de bonne variante.
J'aime bien l'implémentation de Yurich pour les tableaux dynamiques https://www.mql5.com/ru/forum/6729/page3, je ne sais pas si c'est efficace en terme de performance, mais en terme de lisibilité du code c'est super.
Très bon article, pour les débutants absolus, mais aussi pour les programmeurs expérimentés qui découvrent MT5. Seule la dernière section "Creating Multidimensional Arrays Using OOP" est moins intéressante.
Cependant, une petite erreur :
Array indexing order can be determined using the ArrayIsSeries() function:
bool series=ArrayIsSeries(ar);
Si le tableau est indexé dans l'ordre inverse, la fonction retournera true.
Ce qui est faux. La fonction à utiliser pour connaître l'ordre d'indexation d'un tableau est ArrayGetAsSeries().
ArrayIsSeries() est utilisée pour déterminer si un tableau est une série temporelle.
There is only one method that allows you to do a search in an unsorted array
Ce n'est pas tout à fait vrai, jetez un coup d'œil à l'algorithme de recherche basé sur le hachage. Mais cet algorithme n'est probablement pas applicable au commerce.
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation
Un nouvel article Les bases de la programmation MQL5 : Tableaux a été publié :
Les tableaux font partie intégrante de presque tous les langages de programmation, avec les variables et les fonctions. L'article devrait intéresser principalement les programmeurs novices en MQL5, tandis que les programmeurs expérimentés auront une bonne occasion de résumer et de systématiser leurs connaissances.
Les tableaux font partie intégrante de presque tous les langages de programmation, avec les variables et les fonctions. De nombreux programmeurs novices ont souvent peur des tableaux. Cela semble étrange mais c'est vrai ! Je peux vous assurer qu'ils ne sont pas effrayants du tout. En fait, les tableaux sont similaires aux variables régulières. Sans entrer dans le détail des particularités de la notation, il n'y a pas de grande différence entre écrire une expression à l'aide de variables simples :
ou en utilisant des tableaux :
Comme vous pouvez le voir, la différence n'est pas si grande, sauf que lorsque nous utilisons des tableaux, les noms des variables contiennent des crochets. Il y a une autre différence, plus significative - lors de la déclaration de variables, vous devez spécifier le nom de chaque variable, tandis que lors de la déclaration d'un tableau, vous devez écrire son nom une seule fois et spécifier le nombre de variables entre parenthèses (nombre d'éléments du tableau) . Les avantages de l'utilisation de tableaux par rapport aux variables deviennent encore plus évidents lorsque l'on relève les défis d'un grand nombre de tâches de programmation dans la vie réelle.
Est-il possible que la raison pour laquelle les tableaux soient considérés comme quelque chose de compliqué soit en quelque sorte liée à l'utilisation de "[" et "]" ? Ces symboles sont rarement utilisés ailleurs que dans la programmation lorsque l'on travaille avec des tableaux, de sorte que leur emplacement sur le clavier peut s'effacer de la mémoire et provoquer une gêne. En fait, vous pouvez facilement vous rappeler où elles se trouvent - ces deux touches sont situées à côté de la touche "Entrée" dans un ordre logique : la parenthèse ouvrante est suivie de la parenthèse fermante.
Auteur : Dmitry Fedoseev