Ruby Valid XHTML 1.1Cette page est conforme à la norme CSS!Mise à jour 08-2014
SOMMAIRE

Présentation
Les exemples
Les outils et liens
Télécharger les exemples
PRESENTATIONRetour en haut de page


Description Suiv.

Ruby est un langage de script permettant, grâce à l'importation de modules (commande require), d'ajouter de nombreuses capacités au langage de base.
Il dispose des fonctions classiques de tout langage : boucles, procédures et fonctions, accès au système de fichiers, accès base de données.
Il propose également la programmation objet avec la définition de classes.

Toutes les données sont des objets, possédant plusieurs méthodes.
Les données, non typées, sont de différentes natures :
  • scalaires : variable contenant une valeur alpha, numérique , ou objet
  • tableaux : liste de valeurs, encadrée par des []
  • hashes : tableaux associatifs (clé, valeur), encadrés par des []
Ces variables ont des portées différentes, selon leur nom :
  • variables globales : disponibles dans tout le programme, nommées avec un préfixe $
  • constantes : disponibles dans tout le programme, leur nom est en majuscules
  • variables de classe : préfixe @
  • variables locales : disponibles uniquement au niveau où elles sont définies (par exemple dans une boucle), autres que les catégories ci-dessus
Quelques exemples à télécharger, détaillés au chapitre suivant, illustrent les fonctionnalités du langage et de certains modules d'extension.

Utilisation Préc.

L'interpréteur de commande s'appelle irb.bat et se trouve dans le dossier bin de ruby.
Au lancement, un certain nombre de modules sont automatiquement intégrés pour réaliser diverses fonctions.

On peut introduire directement les instructions dans l'interpréteur mails il est plus pratique de créer un fichier d'extension rb et de le charger par la commande load "x:\\...\\nompgm.rb" ou load "x:/.../nompgm.rb".

LES EXEMPLES DETAILLESRetour en haut de page


Gestion des chaînes de caractères (string.rb) Suiv.

Le programme présente quelques fonctions de manipulation de chaînes.
  • padding,
  • extraction de sous-chaîne,
  • majuscules/minuscules,
  • formatage,
  • remplacement, insertion
  • concaténation,
  • duplication,
  • balayage

Tableaux associatifs (hash.rb) Préc.Suiv.

Manipulation d'un tableau associatif : création et initialisation, mise à jour, lecture et tri.

Gestion de dossiers et fichiers (fichiers.rb) Préc.Suiv.

Création et suppression de répertoires, comptage.
Création de fichiers, ajout de lignes, lecture par ligne. Comment ouvrir en mode binaire pour modifier des caractères?
Copie de fichier.

Base de données (sqlite.rb) Préc.Suiv.

Le programme utilise une base sqlite 3.
Classiquement, il faut d'abord ouvir un lien avec la base de données (db = SQLite3::Database.open "x:\\...\\bibli.db").
Ensuite, deux méthodes :
  • envoyer à la base (db) une commande prepare pour créer une requête, puis envoyer à cette requête la commande execute
  • envoyer à la base la commande execute
Le programme crée deux tables (les auteurs et les livres), puis les alimente par des données.
Ensuite, il relit les données de plusieurs manières. Certaines chargent toute la table dans un tableau, d'autres lisent ligne par ligne.
Chaque ligne lue peut être stockée dans un tableau associatif dont les clés sont les noms de champs de la requête. Pour ceci, inclure l'instruction db.results_as_hash = true.
La requête peut contenir des paramètres, passés à la commande execute, soit directement, soit par l'intermédiaire du paramètre bind pour lier le paramètre à la requête.
Dans le premier cas, le paramètre est identifié par un ? (ils sont interprétés dans l'ordre des paramètres passés à execute), dans le second par un nom de variable :xxx lié grâce à bind.

Javanais (javanais.rb) Préc.Suiv.

Le programme transforme une phrase en "javanais" en intercalant entre une consonne et une voyelle la syllable AV.

Si le programme est lancé directement, il demande la saisie de la phrase à transformer (gets pour lire, chomp pour supprimer les blancs inutiles). Sinon, il prend le paramètre reçu.
Ensuite, une fonction identifie à l'aide d'expressions régulières les voyelles et les consonnes.
Il ne reste plus qu'à insérer AV entre les deux (consonne suivie de voyelle).

Jeu des cases (casestk.rb) Préc.

Ce programme est un jeu qui utilise le module tk pour créer une interface graphique.
Le jeu présente un tableau de 3 fois 3 cases, chacune pouvant être allumée ou éteinte. La distribution de début est aléatoire. Le but du jeu est d'obtenir toutes les cases allumées, sauf la centrale.
Pour ceci il faut, en cliquant sur une case, inverser les couleurs de ses voisines, sachant que toutes ne possèdent pas les mêmes règles.

Ecran du jeu:
jeu

Le programme est constitué d'une classe Cases que l'on instancie avant de lancer la boucle interactive par Tk.mainloop.
Tout se pase ensuite à l'intérieur de cette classe.

Les 9 cases sont des boutons créés dynamiquement dans une boucle et stockés dans un tableau. Leur position ligne/colonne dans l'écran est retournée par une fonction calclc, qui retourne un couple de valeurs, donnant lieu au calcul des coordonnées x/y sur l'écran.
Ils sont disposés dans un widget principal, représentant la fenêtre du programme.
A chaque bouton est associé une procédure d'exécution qui modifie la couleur des cases adjacentes.

LES OUTILS ET LIENSRetour en haut de page

Interpréteurs

Irb, windows 7 64 bits
Disponible gratuitement en téléchargement sur le site rubyinstaller.org.
Télécharger la version 7zip (logiciel) et la documentation au format chm.

Liens

Ces sites proposent des cours et documentations sur le langage.

developpez.com, pour débuter
tutorialspoint, complet