Me revoilà ^^
Je sais pas trop comment expliquer mon problème clairement (ni même quel nom lui donner) alors le mieux c'est de montrer des petits bouts de code.
Voici mon code actuel:
Or il se trouve que chaque 'var' présente dans les 'var_list' que la fonction 'Library.iter_on_var_list' me permet de parcourir sont uniques, si bien que 'my_func var_list' n'est executé qu'une fois, et donc que je parcours l'ensemble des 'var_list' et effectue le test 'if var == my_var' inutilement un grand nombre de fois.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 let my_var = get_var () in Library.iter_on_var_list (fun var_list -> List.iter (fun var -> if var == my_var then my_func var_list ) var_list )
Du coup j'aimerai pouvoir écrire un truc du genre:
Seulement je ne vois pas bien comment d'une part écrire la fonction 'get_var_list' à l'aide de 'Library.iter_on_var_list', encore moins en évitant les exécutions inutiles comme précédemment.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 let my_var = get_var () in let var_list = get_var_list my_var in my_func var_list
À la rigueur, vu que je vais enchaîner souvent les 3 instructions ci-dessus, je pourrais commencer par me créer une bonne fois pour toute une liste à partir de 'Library.iter_on_var_list', que je pourrais ensuite manipuler comme je veux. Mais là encore, je ne suis pas sûr de savoir faire ca proprement.
PS: évidemment, la librairie ne me donne pas accès directement à la liste, je suis donc obligé d'utiliser 'Library.iter_on_var_list'.
Partager