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 :

Eclaircissement sur copy_vect


Sujet :

Caml

  1. #1
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Eclaircissement sur copy_vect
    Bonsoir à tous.
    Je suis actuellement en train de préparer un TIPE qui utilise CAML, et celà m'a ammené à me poser quelques questions sur la fonction copy_vect.
    Jugez plutôt des deux fonctions suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    let test vecteur =
     let  copie = copy_vect vecteur in
        copie.(0) <- 0;
        (copie,vecteur);;
    Ici test [|1;1|];; renvoie [|0; 1|], [|1; 1|]
    C'est le résultat attendu, seule la copie a été modifiée.

    Les choses semblent différentes pour des vecteurs de dimension supérieure à 1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    let test2 vecteur =
      let copie = copy_vect vecteur in
        copie.(0).(0) <- 0;
        (copie, vecteur);;
    Ici test2 [|[|1;1|];[|1;1|]|];; renvoie [|[|0; 1|]; [|1; 1|]|], [|[|0; 1|]; [|1; 1|]|]
    La copie et l'argument on été modifiés !

    J'ai conscience qu'en dimension 2 nous avons affaire à des vect*vect, alors que copy_vect s'applique sur vect.
    Mais alors comment copier un vect*vect à l'aide de la fonction copy_vect ?

    Merci d'avance pour votre aide, j'espère avoir été assez clair

  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,

    Citation Envoyé par RoroCorp
    J'ai conscience qu'en dimension 2 nous avons affaire à des vect*vect, alors que copy_vect s'applique sur vect.
    Mais alors comment copier un vect*vect à l'aide de la fonction copy_vect ?
    Si tu as un vecteur de vecteurs, tu dois appliquer la fonction de copie à tous les éléments du tableau. Par exemple ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    let copy_matrix t = Array.map Array.copy t
    Par contre désolé c'est de l'OCaml... mon caml light est rouillé. Sauf erreur de ma part ce doit être map_vect copy_vect

    Cordialement,
    Cacophrène

  3. #3
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Effectivement map_vect fonctionne très bien !
    Merci beaucoup pour la rapidité.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Eclaircissement sur les clé dans un DWH(fact table)
    Par Melvine dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 12/05/2006, 17h46
  2. [Versioning]Quels eclaircissements sur Dll/GAC/References?
    Par chnew dans le forum Framework .NET
    Réponses: 4
    Dernier message: 22/03/2006, 18h11
  3. [RegEx] Eclaircissement sur un formulaire
    Par inferno66667 dans le forum Langage
    Réponses: 11
    Dernier message: 03/12/2005, 17h55
  4. Réponses: 10
    Dernier message: 03/10/2005, 15h42
  5. [VB.NET] Eclaircissement sur la fonction IsDBNull
    Par shinchan dans le forum Windows Forms
    Réponses: 9
    Dernier message: 04/01/2005, 09h59

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