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 ---