IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Caml Discussion :

module dans un module et tableau de module


Sujet :

Caml

  1. #1
    Membre régulier Avatar de _Von_
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mongolie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2011
    Messages : 22
    Points : 73
    Points
    73
    Par défaut module dans un module et tableau de module
    Bonjour,

    J'ai quelques problemes avec les modules. je cherche dans un premier temps a inclure dans un module t , d'autres modules definis ailleurs que dans le module t.
    De la meme maniere peut on creer un tableau de module ?

    J'ai cherche sur internet et je n'ai rien trouve qui pourrait eclairer ma lanterne.
    J'ai peur aussi que mes habitudes prises avec le c soient incompatibles avec OCaml.

    Merci par avance pour vos reponses.

  2. #2
    Membre éprouvé
    Avatar de Cacophrene
    Homme Profil pro
    Biologiste
    Inscrit en
    Janvier 2009
    Messages
    535
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Biologiste

    Informations forums :
    Inscription : Janvier 2009
    Messages : 535
    Points : 1 125
    Points
    1 125
    Par défaut
    Bonsoir,

    je cherche dans un premier temps a inclure dans un module t , d'autres modules definis ailleurs que dans le module t.
    Qu'est-ce que tu appelles un module ? S'agit-il d'un module au sens d'OCaml ? Si c'est le cas, et c'est ce que je suppose dans mon message, alors tu peux écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    module Foo = struct (* à remplir *) end
    module Bar = struct include Foo end
    Regarde dans la documentation la différence entre include et open.

    De la meme maniere peut on creer un tableau de module ?
    Ce n'est plus la même chose. Pour pouvoir définir un tableau de modules, il faut disposer de modules de première classe, manipulables comme n'importe quelle valeur. Ce n'est possible qu'à partir d'OCaml 3.12. Mais attention, il faut respecter les contraintes habituelles des tableaux d'OCaml, qui sont homogènes. En clair, tu pourras construire un tableau de modules si et seulement si ceux-ci ont la même signature. Un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    module type FOO = 
      sig 
        val foo : unit -> unit 
      end
    
    module Foo =
      struct
        let foo () = ()
      end
    
    module Bar =
      struct
        let bar () = ()
      end
    
    module Foobar =
      struct
        include Foo
        let bar () = ()
      end
    
    let tableau = [|(module Foo : FOO); (module Foobar : FOO)|]
    Dans mon exemple, le module Bar ne peut pas faire partie du tableau compte tenu de sa signature qui ne correspond pas à FOO (mais on peut créer un type somme pour accepter les deux formes si c'est nécessaire).

    J'ai peur aussi que mes habitudes prises avec le c soient incompatibles avec OCaml.
    Effectivement, il y a peut-être d'autres manières de procéder avec OCaml, sans utiliser cette fonctionnalité nouvelle qui manque encore de maturité. Si tu exposes ton problème de façon plus détaillée, il nous sera plus facile de t'aider.

    Cordialement,
    Cacophrène

  3. #3
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut
    Merci, tu m'apprends quelque chose d'intéressant ... à savoir si ça me sera utile un jour.

Discussions similaires

  1. Dessiner un tableau dans un pdf en utilisant le module zend_pdf
    Par smahane dans le forum Zend Framework
    Réponses: 4
    Dernier message: 18/01/2011, 12h18
  2. Le système de modules dans les CMS
    Par UN|X` dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 20/08/2006, 01h07
  3. comment supprimer un module dans vba
    Par moicats dans le forum Access
    Réponses: 3
    Dernier message: 13/04/2006, 11h16
  4. Exécuter une sub d'un module dans une macro
    Par pnoel-bi dans le forum Access
    Réponses: 3
    Dernier message: 03/03/2006, 11h39
  5. appel module dans vba
    Par scully2501 dans le forum Access
    Réponses: 3
    Dernier message: 14/09/2005, 17h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo