Je pense que c'est à peu près "ça que je veux dire", même si ton truc est un peu ambigu donc je suis pas certain. Par contre si ton code pour récupérer le résultat pour chaque champ est un peu gros, t'as intérêt stylistiquement à déclarer des variables locales avant, un truc du genre
Elem ("field", infos, fils) ->
let name_f = parse_name(infos) in
let type_field = parse_type(fils) in
...
{ name_f = name_f; type_field = type_field; .. }
C'est la même chose, bien sûr. Et bien sûr t'es pas obligé de déclarer une fonction séparée pour par exemple parse_name si sa définition est très simple, c'était juste pour dire de pas forcément tout mettre dans le tuple.
[^] # Re: Problème de point de vue
Posté par gasche . En réponse au message [OCaml] Quel stratégie pour transformer un arbre en grammaire ?. Évalué à 2.
Elem ("field", infos, fils) ->let name_f = parse_name(infos) in
let type_field = parse_type(fils) in
...
{ name_f = name_f; type_field = type_field; .. }
C'est la même chose, bien sûr. Et bien sûr t'es pas obligé de déclarer une fonction séparée pour par exemple parse_name si sa définition est très simple, c'était juste pour dire de pas forcément tout mettre dans le tuple.