Follow me
RSS feed
My sources
My Viadeo

RConsole

Greg | 11 Mar 2010

Projets Cela fait un bout de temps que je devais passer un peu de temps à tester MacRuby1. C'est chose faite par le biais d'une nouvelle application (et donc d'un nouveau projet) : RConsole.

La genèse

Si vous êtes comme moi, il doit vous arriver, de temps en temps, de faire des scripts Ruby post-it. C'est ce genre de petit script que l'on fait pour tester une chose en particulier et qui finit généralement sous forme de Gist. Pour faire cela, il existe plusieurs solutions. La plus courante étant certainement d'utiliser IRB. Le problème, qu'y en découle, est le fait qu'il est difficile de faire des modifications. Il faut en effet à chaque fois retaper tout le code. Pour peu que celui-ci fasse plusieurs lignes, cela devient rapidement énervant. Une autre solution pour les utilisateurs de TextMate consiste à placer le code dans un fichier et à l'exécuter directement depuis l'éditeur via un ⌘R. Cette dernière solution est plus simple, à condition d'utiliser TextMate et de ne pas avoir peur de se créer un répertoire de scripts que l'on oubliera de nettoyer de temps en temps. Bref, vous l'aurez compris, tout cela ne me plait pas beaucoup.

Comme vous le savez, je suis très flemmard. Et cela ne va pas en s'arrangeant... Et j'ai donc passé une petite soirée à développer une solution qui me va très bien. L'idée est d'avoir une fenêtre contenant un pseudoéditeur de code, code que l'on pourra exécuter et voir le résultat, sans quitter l'application, sans perdre du temps à le sauvegarder on ne sais ou... Tout ceci donne RConsole

RConsole

Utilisation

Comme vous pouvez le voir sur la capture ci-dessus, RConsole se présente sous forme d'une simple fenêtre permettant de taper un bout de code. Il suffit ensuite de cliquer sur le bouton Run (ou de faire un ⌘R) pour afficher le résultat de la sortie standard et/ou la sortie d'erreur.

RConsole

Si vous utilisez plusieurs interpréteurs Ruby, vous pouvez les déclarer dans les préférences de l'application.

RConsole

Vous pouvez alors, via la boite de sélections située en haut à gauche de la fenêtre principale, choisir l'interpréteur à utiliser.

Souvenez-vous qu'il s'agit d'un simple outil de test, inutile donc d'espérer sauvegarder le code dans un fichier en vue d'une réutilisation ultérieure. Si c'est là votre besoin, reprenez votre éditeur favori.

MacRuby

Comme je l'ai dit, ce petit outil a été développé avec MacRuby. Plutôt habitué à utiliser RubyCocoa, je dois bien avouer que j'ai été véritablement bluffé par MacRuby. Il est beaucoup plus proche de Cocoa et donc beaucoup plus agréable à utiliser pour qui aime ce framework. C'est véritablement le mariage idéal entre Ruby et Cocoa !

Seul petit regret, qui s'excuse rapidement, MacRuby ne couvre pas encore totalement l'implémentation de Ruby (1.9). Un exemple : pour l'exécution du code, je souhaitais utiliser Open32. Malheureusement, dans la version 0.6 (nightly build), Open3 n'est pas implémenté, simplement parce qu'il utilise Kernel#spawn qui n'est lui-même pas implémenté... Mon positivisme me poussant à dire que cela me promet de belles évolutions à faire ;)

Je ne devrais pas tarder à publier RConsole sur Github.

Parmi les petites choses que je voudrais y ajouter, il y a la possibilité de poster le code sous forme de Gist. Si de votre côté vous voyez d'autres choses, n'hésitez pas à m'en faire part !

1 Autrement qu'en faisant un Hello World!
2 En doux réveur, j'espérait pouvoir utiliser Open5, mais la encore, MacRuby ne le permet pas.

Copyright © 2009 - 2011 Grégoire Lejeune.
All documents licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License, except ones with specified licence.
Powered by Jekyll.