Je suis très nouveau à Ocaml et ML en général et j'ai eu un problème très fondamental. J'utilise une correspondance de modèle et dans un match je voudrais imprimer deux ou plusieurs déclarations concaténées. Par exemple. chan^"("^var^")"^op2^(poc p); chan^"("^var^")"^op^(poc p)
Ocaml imprimer une déclaration après l'autre
let processoperatorchange2 t2s2 proc2 op op2=
let rec poc2 p = match p with
| Zero -> "0"
| Pproc (x) -> String.lowercase x
| In(chan, var, _, p, _) -> chan^"("^var^")"^op^(poc2 p); chan^"("^var^")"^op2^(poc2 p)
in poc2 proc2
Mais chaque fois que je lance ceci, la seule déclaration imprimée est le dernier après le côlon demi. Puis-je obtenir de l'aide avec ça?
Pourriez-vous ajouter toute l'expression de correspondance? De votre question, je peux deviner que vous renvoyez une chaîne au lieu de l'imprimer. – nefas
Salut, oui je viens d'éditer la question avec le code. Le problème est que la chaîne concaténée est une combinaison de différents types définis par l'utilisateur donc pour l'instant je l'imprime simplement mais chaque fois que j'attribue une variable, elle renvoie l'unité et je suis incapable de l'imprimer – user1514567