Ruby est un langage interprété pur object développé par Yukihiro Matsumoto
Pour télécharger ruby aller sur le site francophone : http://www.ruby-lang.org/fr
Sous Debian, l'installation se fait avec la commande : apt-get install ruby
Pour lancer l’interpréteur ruby, sous Linux, taper irb
Guide du programmeur Ruby : http://www.ruby-doc.org/docs/ProgrammingRuby/html/
Etant donné un fichier prg.rb contenant un programme en Ruby,
| ruby prg.rb | Exécute prg.rb |
| ruby -l prg.rb | Exécute prg.rb et insère un saut de ligne à chaque sortie s'il n'y en a pas. |
| ruby -cw prg.rb | Vérifie les erreurs de syntaxe de prg.rb |
| ruby -w prg.rb | Exécute prg.rb en mode verbeux |
| ruby -r debug prg.rb | Exécute prg.rb en mode débugueur (commandes : step, step x,....) |
| ruby -r profile org.rb | Mesure l'utilisation des ressources du système lors de l'exécution de prg.rb |
| ruby - v | Version de ruby |
| ruby -e "puts 12**12" | Exécute l'expression ruby entre guillement simple ou double |
| ruby puts "Bonjour" x=12**12 puts x Ctrl D |
Exécute le programme écrit en dessous jusqu'au caractère de fin de fichier Ctrl D |
La première ligne d'un script ruby est généralement :
#! /usr/bin/ruby -w
Le script prg.rb doit avoir les droits d'exécution ce qui s'obtent par la commande suivante :
chmod +x prg.rb
Le lancement du script se fait en précisant le chemin complet, ou relatif à une racine figurant dans la variable d'environnement $PATH :
./prg.rb
Nom commençant par Genre de variable $Variable globale @Variable d'instance @@Variable de classe Minuscule ou _Variable local MajusculeNom de classe, nom de module, nom de constante
Exemple $x est une variable globale, x est une variable local, X est une constante, @x est une variable d'instance, et @@x est une variable de classe.
x = %w{mais ou est donc or ni car}
est équivalent à :
x = ["mais", "ou", "est", "donc", "or", "ni", "car"]
| Modele |
Description |
| ^ |
Début de ligne. |
| $ |
Fin de ligne. |
| . |
Un caractère autre que le newline (sauf en mode m). |
| [abc] |
Un caractère a ou b ou c. |
| [^abc] | Un caractère qui n'est pas ni a ni b ni c. |
| [a-e2-5] |
Un caractère entre a et e ou entre 2 et 5. |
| X* |
0 ou plusieur occurences de X. Non gourmand X*? |
| X+ |
1 ou plusieur occurences de X. Non gourmand X+? |
| X? |
0 ou 1 occurence de X. Non gourmand X?? |
| X{n} |
Exactement n occurences de X |
| X{n,} |
n ou plus d'occurences de X. Non gourmand {n,}? |
| X{n,m} |
de n à m occurences de ce qui précède. Non gourmand {n,m}? |
| X|Y |
X ou Y |
| (X) |
Groupé et mémorisé |
| (?:X) |
Groupé et non mémorisé |
| X(?=Y) |
X si suivie de Y |
| \w |
Caractères word [A-Za-z0-9_] |
| \W |
Caractères word [^A-Za-z0-9_] |
| \s |
Espace [ \t\n\r\f] |
| \S |
Non espade [^ \t\r\n\f] |
| \d |
Chiffre [0-9] |
| \D |
Non chiffre [^0-9] |
| \n,\t... |
newline, tabulation, etc. |
| \1...\9 |
n ième expression mémorisées |
| \10 |
10 ième expression mémorisée si elle existe sinon caractère de code octal 10. |
"abctoto" =~ /toto|tata/ => 3 // Conforme à l'expression régulière à partir de l'indice 3
x.sub(/toto|tata/, 'titi') // Remplace dans x le premier toto ou tata par titi
x.gsub(/toto|tata/, 'titi') // Remplace dans x tous les toto et tata par titi
Un bloc de code regroupe des instructions ruby entre accolade { ... } ou bien entre do ... end.
--- 26 mai 2013 ---