[Débutant] Problème un peu bizarre (je sais vraiment pas quoi mettre comme titre là)
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:
Code:
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
) |
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.
Du coup j'aimerai pouvoir écrire un truc du genre:
Code:
1 2 3 4
|
let my_var = get_var () in
let var_list = get_var_list my_var in
my_func var_list |
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.
À 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'.