• [^] # Re: Destructeurs

    Posté par . En réponse à la dépêche Sortie de Ruby 1.8.5. Évalué à 0.

    Je ne sais pas ce que tu veux dire par 'implémenter complètement le paradigme objet'

    Pour moi, les destructeurs font partie du paradigme objet.

    File.open {|f|
    # Faire des trucs avec f ...
    }

    Je sais, mais à ce stade-là, soit il faut systématiquement mettre l'utilisation de tous tes objets dans des blocs passés au constructeurs, ce que je trouve très moche (cela dit, c'est une question de goût), soit le jour où tu changes ton implémentation et où tu t'aperçois que tu as besoin de faire une finalisation, eh bien il faut modifier toutes les utilisations de ta classe.

    Donc peut-être que tu as une approche qui n'est pas compatible avec la 'manière de faire' Ruby.

    C'est exactement ça. Donc j'en reste à un langage qui ne m'impose pas sa manière de faire.

    Par ailleurs, tu as un destructeur rudimentaire dans le module ObjectSpace (http://www.ruby-doc.org/core/classes/ObjectSpace.html )

    Cependant, il est appelé 'après' la destruction de l'objet.

    Comme les finaliseurs, sur lesquels il se base certainement. Cela limite fortement l'intérêt : quand tu as quelque chose à faire en fin de vie d'un objet, c'est généralement dépendant des attributs de cet objet...

    J'espere avoir ravivé ton interêt pour le Ruby :)

    Eh non, désolé.

    « Le fascisme c’est la gangrène, à Washington comme en Russie. » — adapté de Renaud, Hexagone