Hier soir, je pensais à ce que je pense être des fonctionnalités avancées de langue ruby, à savoir les Continuations (callcc) et les objets de liaison. Je veux dire avancé parce que j'ai un fond oo langages statiquement typé (C#, Java, C++), j'ai découvert ruby très récemment, donc ces fonctionnalités de langue ne me sont pas très familières.Utilisation du monde réel des objets de liaison en ruby
Je me demande ce que pourrait être l'utilisation réelle de ces fonctionnalités de langages. Selon mon expérience, tout peut être fait avec des langages oo typés statiquement, mais je suis d'accord pas très intelligemment parfois. Je pense que j'ai compris la beauté/l'intérêt de Continuation lire ce bel article de Sam Ruby: http://www.intertwingly.net/blog/2005/04/13/Continuations-for-Curmudgeons
Encore, je suis perdu avec objet Binding. Quelqu'un peut-il me fournir des exemples concrets de quelque chose qui peut être intelligemment fait avec un objet Binding mais pas très intelligemment avec des langages qui manquent le concept Ruby Binding? Je pensais retourner certains objets à leur état initial quand quelque chose ne va pas pendant un long processus, mais je ne suis pas sûr que cela puisse être implémenté avec l'objet Binding et je pense qu'il pourrait être implémenté assez intelligemment en clonant des objets avant le traitement et le remplacement de l'objet modifié avec leurs clones lorsque quelque chose se passe mal pendant le traitement. Donc, ce n'est pas un exemple valide, je pense.
Merci d'avance pour votre aide.
Merci! C'est juste! L'implémentation d'une fonctionnalité de débogage semble être une utilisation de l'objet Binding. Je me demande si cette fonctionnalité de débogage a été documentée comme un exemple de liaison dans le livre Pioche ou non. Pouvez-vous voir d'autres utilisations des objets Binding? –
@dhruv C'est assez joli. Je pense que je vais l'ajouter à mon paquet utilitaire, juste à côté de putsv (puts si verbose) etc ... Merci! – Ryanmt