« Programmation Ruby/Premiers essais » : différence entre les versions

Contenu supprimé Contenu ajouté
Ganjo (discussion | contributions)
m typo
orthographe + typographie
Ligne 1 :
[[Programmation Ruby|<< Retour au sommaire]]
 
Pour faire les premiers essais avec ruby, nous allons utiliser l'outil irb, un interpreteurinterpréteur ruby très pratique pour tester et débugguerdéboguer. Celui-ci se lance simplement à partir d'un terminal avec la commande irb :
# irb
 
Sous windows, un raccourci a dut être rajouterrajouté au menu démarrédémarrer.
Pour me pas déroger à la règle, nous allons pour premier exemple dire bonjour :
Ligne 18 :
soit l'effet produit par notre fonction (l'affichage de la chaine "''Hello world''"), et la valeur de retour de celle-ci, dans notre cas ''nil''.
Bon, pour un langage objet, cet éxempleexemple n'est pas très adapté. Il faut néanmoins savoir que tout code écrit en dehors d'une classe ou d'un module fait partipartie de la classe ''Object''.
 
On aurait également put écrire cet exemple de cette manière :
Ligne 24 :
irb(main):013:0> STDOUT << "Hello" << " " + "World"
 
L'approche objet est ici plus évidente : Lala méthode "''<<''" de l'objet ''STDOUT'' est appelée avec " ''"Hello" << " " + "World"''" comme paramètre. De même on appelle la méthode ''<<'' de l'objet ''"Hello"'' (qui est une instance de l'objet String).
On découvre ici le modèle tout objet de ruby, ruby en effet mene comporte pas de type primaire, ainsi une chaîne de caractères ou un nombre sont des objets, comme on peut le voir avec la méthode Object.class :
irb(main):016:0> 3.class
Ligne 35 :
=> Regexp
 
Bien sursûr chacun de ces objets possèdentpossède leursses propres méthodes, qu'on peut lister ainsi :
irb(main):019:0> Fixnum.methods
Ligne 70 :
# ri times
Si une méthode est inclueincluse dans plusieurs objets, ri vous proposera un liste de choix possible.
 
ToutesToute méthodesméthode peut être redéfinie :
irb(main):029:0> 2+3
Ligne 89 :
 
Pour finir cette présentation nous allons voir la notion de bloc en ruby, et voir comment ceux-ci peuvent être utilisé :
Par exampleexemple :
irb(main):024:0> 5.times do |i|
Ligne 100 :
4
 
Ici nous voyons que le bloc délimité par ''do'' et ''end'' (il est à noter que l'on peut également délimiter les blocs par accolade ouvrante/fermante (''{}'')) est envoyé en paramètre à la méthode ''times'' de l'objet ''Fixnum''. La où les valeurs entre pipe (ici la variable ''i'') indiquent le ou les paramètres que la méthode passe en paramètre au bloc. Donc ici la méthode times va appeler 5 fois le bloquebloc en y passant en paramètre un entier valant au départ 0 et qui sera incrémenté de 1 à chaque appel du bloc.
Nous verrons dans les chapitres suivant plus en détail tous ces concepts.