Bonjour à tous,
Je cherche à écrire en OCaml une fonction qui permet de calculer le code de César d'une chaîne, quelque chose comme ça :
1 | val cesar -> string -> int -> string |
Mon idée était d'utiliser String.map
pour appliquer la transformation à chaque caractère de la chaîne donnée en entrée. Cependant, la fonction attendue par String.map
est de type Char -> Char
, et je n'ai pas trouvé dans Char
de fonction me permettant de réaliser la transformation que je recherche.
Est-ce que c'est moi qui ai manqué quelque chose, ou est-ce que je dois contourner ce manque d'une autre manière, comme en passant par l'ASCII du caractère, ou quelque chose du genre ? D'ailleurs, le code de César proposé sur RosettaCode me paraît assez laid : je sais bien qu'OCaml gère plutôt la programmation impérative, mais on devrait pouvoir s'en sortir sans, je me trompe ?