Sous Windows, quand on utilise la console IRB de ruby, en tapant la commande suivante :

C:\>irb
irb(main):001:0>

On se retrouve très vite confronté à un problème. En effet, tous les caractères suivants ne s’affichent pas à l’écran : {, }, [, ], |, etc…

Une solution existe : l’utilisation de l’option “noreadline” !

C:\>irb --noreadline
irb(main):001:0> person = {:name => "FOSSE", :firstname => "Mathieu"}

Il existe une autre solution si on ne veut pas utiliser l’option “noreadline” dont voici les étapes à suivre:

  1. Créer une variable d’environnement “HOME” dans laquelle vous allez mettre le chemin vers votre dossier utilisateur (ex : C:\Documents and Settings\mfosse)
  2. A l’aide de votre éditeur préféré créer un fichier “.inputrc” dans votre dossier “HOME” et ajouter le contenu suivant :
"\M-[": "[" 
"\M-]": "]" 
"\M-{": "{" 
"\M-}": "}" 
"\M-\\": "\\" 
"\M-|": "|" 
"\M-@": "@" 
"\M-~": "~" 

Voilà après celà ça devrait fonctionner !

Liens :

Edit :

Il est conseillé d’utiliser la deuxième solution. Pour info, le module readline qui est chargé à l’aide de l’option “readline” (par défaut) est une implémentation de la librairie GNU Readline (utilisée par Bash par exemple). Elle permet d’enregistrer l’historique des commandes sous IRB (rappel des commandes à l’aide des flêches haut/bas) et la complétion (Classes, méthodes, etc…).