• [^] # Re: Destructeurs

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

    Ceci dit, tu ne programmes pas de la même façon en C++ et en Ruby. Je ne sais pas ce que tu veux dire par 'implémenter complètement le paradigme objet', mais les destructeurs est un outil pour résoudre une classe de problemes, et Ruby propose un autre outil : les blocks.

    L'exemple classique est le fichier que tu veux ouvrir et que tu dois fermer à la fin (dans le destructeur par exemple) :

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

    à la fin de l'execution du block, le fichier est fermé.

    Donc peut-être que tu as une approche qui n'est pas compatible avec la 'manière de faire' Ruby. Un peu comme si je me plaignais du manque des blocks en C++.

    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.

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