• [^] # Re: langage fonctionnel

    Posté par (site web personnel) . En réponse au journal Ada, langage et ressources. Évalué à 4.

    J'avais compris, et je répète qu'il n'y a pas d'extracteurs en OCaml, le seul moyen de déconstruire un type passe par le pattern matching.

    Maintenant, le pattern matching peut être présent dans un switch (l'usage le plus courant) comme présenté dans le commentaire ci-dessus , mais aussi lors du passage d'argument d'une fonction (moins courant), dont voici un exemple :

    # let hd_tl (hd::tl) = (hd, tl);;
    Warning 8: this pattern-matching is not exhaustive.
    Here is an example of a value that is not matched:
    []
    val hd_tl : 'a list -> 'a * 'a list = <fun>
    

    Mais cela reste encore limité aux motif d'extractions gérés en interne dans le langage, et il n'est pas possible d'en rajouter de nouveaux.