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

Langage Perl Discussion :

[Perl POO] ne pas créer deux fois le même objet


Sujet :

Langage Perl

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2005
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 45
    Points : 27
    Points
    27
    Par défaut [Perl POO] ne pas créer deux fois le même objet
    Bonjour,

    Je débute en programmation orienté objet, désolé si le vocabulaire ne correspond pas.
    Dans mon script, je crée plusieurs objets définis par un nom, un fichier et une nom de répertoire:
    toto->new(id, fic, rep);
    Mais j'aimerais que les nouveaux objets crées ne portent pas ni le même nom, ni le même répertoire.

    Existe-t-il une commande capable de verifier la liste de tous les objets? Ou un autre méthode?

    Merci

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    La meilleure solution sera de conserver un hash de tous les noms déjà utilisés, mis à jour dans le créateur et le destructeur de tes objets.

    --
    Jedaï

  3. #3
    Nouveau membre du Club
    Inscrit en
    Septembre 2005
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 45
    Points : 27
    Points
    27
    Par défaut
    J'aurais aimé ne pas avoir à appliquer cette méthode: j'évite au maximum la création de variables, je trouve que cela complique la lisibilité des programmes.
    Mais bon, si je n'ai pas le choix...

    Merci quand même.
    Au revoir

  4. #4
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par seben Voir le message
    J'aurais aimé ne pas avoir à appliquer cette méthode: j'évite au maximum la création de variables, je trouve que cela complique la lisibilité des programmes.
    Mais bon, si je n'ai pas le choix...
    Il s'agit de variables locales au package (déclare les avec my()) invisibles à l'extérieur et tu peux leur donner des noms significatifs. Je ne vois pas trop le problème, d'autant que les alternatives que tu as proposées sont absolument horribles du point de vue de la complexité...


    Dans un autre ordre d'idée, si tu as une aversion aux variables, tu devrais vraiment essayer un langage fonctionnel pur comme Haskell. C'est un tout autre style de programmation qui pourrait mieux te convenir. En particulier, l'un des avantages est que ce style proscrit l'utilisation de variables (dans le sens "qui peut changer", on peut toujours donner des noms aux données) et des fonctions avec des effets de bord... en conséquence le style fonctionnel est beaucoup plus facile à comprendre localement.

    --
    Jedaï

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Août 2008
    Messages : 505
    Points : 712
    Points
    712
    Par défaut
    Il existe des packages qui permettent de faire de l'objet propre sous perl (et ce n'est pas un mal, parce que franchement, s'il y a bien une chose que perl fait mal, c'est l'objet). Je pense notamment à Moose (et à sa version light Mouse). Je pense qu'il y a un certain nombre de choses qui sont faites dans ces packages, notamment autour des méthodes de classe, et qui permettent de gérer assez facilement ce genre de souci.

Discussions similaires

  1. [Sonar] Ne pas executer deux fois les tests
    Par woodwai dans le forum Qualimétrie
    Réponses: 3
    Dernier message: 23/03/2010, 17h54
  2. Ne pas avoir deux fois la même valeurs
    Par diki38 dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 11/01/2010, 11h45
  3. Ne pas créer deux fois un même objet
    Par manest dans le forum Langage
    Réponses: 2
    Dernier message: 07/01/2010, 23h02
  4. [AC-2007] Ne pas imprimer deux fois la même chose
    Par Flup dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 24/11/2009, 20h47
  5. PERL/Tk: probleme pour lancer deux fois la fonction destroy
    Par seben dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 04/03/2009, 15h53

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