0010 Binding_irb

IRB pour Interactive RuBy

Vous connaissez certainement irb qui est un shell Ruby, mais saviez-vous qu’il est possible de l’instancier directement depuis le code?

0010-binding_irb_1.png

Votre programme est mis en pause (en tout cas le thread dans lequel est appelé irb) permettant ainsi de le débugger. L’usage est cependant limité jusqu’en Ruby 3.0. Mais depuis Ruby 3.1 il est de plus lié à la gem debug pour des fonctionnalités plus poussées.

0010-binding_irb_2.png

Maintenant inclus dans l’installation Ruby, il est « facile » de trouver la source d’un problème. Même un script Ruby en ligne de commande.

⚠️ Une limitation (ou bug?) quand les commandes sont chainées (si vous trouvez un moyen de le faire fonctionner, on est preneur!). Attention donc, car irb évalue dans ce cas ce qu’il y a dans stdin sans vous demander votre avis.

0010-binding_irb_3.png

irb cache encore certainement pleins d’autres choses. Essayez donc ce code plusieurs fois dans votre console 😉.

0010-binding_irb_4.png

Les liens vers la documentation Ruby de binding.irb et IRB.