Licence CC BY-NC-ND

Une introduction à Ruby

Dernière mise à jour :

Vous rêvez d’apprendre à programmer, mais vous ne savez pas quel langage apprendre ? Pourquoi ne pas apprendre le Ruby ? Ruby est un langage de programmation libre et dynamique, qui met l’accent sur la simplicité et la productivité. Sa syntaxe élégante en facilite la lecture et l’écriture.

Prérequis
Connaître les quatre opérations mathématiques élémentaires.

Prérequis optionnels
Avoir déjà lu ce tutoriel qui introduit la programmation et aide à choisir un premier langage.
Connaître la notion de nombres relatifs.
Avoir des bases dans l’utilisation de la ligne de commande (savoir l’ouvrir et savoir entrer une commande).

Objectifs
Apprendre les bases de la programmation en Ruby.

L’apprentissage de la programmation peut-être une course pour certains. Mais cette idée n’est bonne que s’il s’agit d’une course d’endurance. En effet, le but n’est pas de finir le tutoriel le plus rapidement possible. Le but est de prendre son temps pour comprendre toutes les notions et surtout pour les appliquer. Seule la pratique permet de progresser, et il vaut mieux rester une semaine sur un chapitre pour maîtriser toutes les notions qui y sont traitées, plutôt que de passer une semaine sur tout le tutoriel.

Remerciements

Nous voulons remercier plusieurs personnes avant de commencer :

  • baptisteguil le créateur originel et premier rédacteur de ce tutoriel ;
  • Dominus Carnufex pour son travail monstrueux et très rapide de corrections orthotypographiques ;
  • Arius pour son formidable travail de validation ;
  • Tous les membres qui ont apporté leurs conseils, leurs avis et leurs corrections.

Les bases

  1. Introduction

    1. Qu’est-ce que Ruby ?

    2. Installation

    3. Prise en main

    4. Exercices

  2. Variables et chaînes de caractères

    1. Variables

    2. Chaînes de caractères

    3. Conversion de variables

    4. Saisir et afficher des informations

    5. Exercices

  3. Les conditions

    1. Opérateurs de comparaison

    2. La structure if-else

    3. La structure case-when

    4. Les conditions ternaires

    5. Exercices

  4. Les boucles

    1. La boucle while

    2. La boucle for

    3. Contrôler l’exécution d’une boucle

    4. La boucle loop

    5. Les itérateurs

    6. Exercices

  5. Les tableaux

    1. Généralités sur les tableaux

    2. Opérations sur les tableaux

    3. Lien avec les chaînes de caractères

    4. Exercices

  6. Les méthodes

    1. Principe et schéma d’une méthode

    2. Écrire des méthodes

    3. Les paramètres

    4. Exercices

  7. Les hachages

    1. Des tableaux associatifs

    2. Opérations sur les hachages

    3. Hachages et tableaux

    4. Exercices

  8. Retour sur les variables

    1. Une histoire de références

    2. Les variables globales

    3. Les symboles

    4. Modifier nos variables dans des méthodes

  9. Le module Enumerable

    1. Les modules

    2. Le module Enumerable

    3. Exercices

Annexe

  1. Écrire le code dans des fichiers

    1. Les éditeurs de texte

    2. Windows — Notepad++

    3. Linux — gedit

    4. Les problèmes possibles



Ce tutoriel d’introduction à Ruby est maintenant terminé. Mais la route à parcourir est encore longue. Vous pouvez regarder les autres tutoriels sur Ruby ou encore apprendre l’algorithmique (qui vous sera vraiment utile) avec ce tutoriel et les autres tutoriels d’algorithmique.

N’oubliez pas, la pratique est votre meilleure amie. Exercez-vous, exercez-vous et… amusez-vous !

Dans ce tutoriel, nous avons souvent dit de certaines pratiques qu’elles étaient bonnes ou mauvaises. Pour cela, nous nous sommes appuyés en particulier sur ce document, notamment pour les pratiques de mise en page (nommage, indentation…).

14 commentaires

Bon tutoriel et bien conçu mais j'ai du mal à digéré le fait qu'il s'agisse d'une introduction et que nous soyons obligé d'avoir des connaissances au préalable. Du moins la plupart des notions théoriques sont survolés trop rapidement. Longtemps j'ai programmer en ce magnifique langage et longtemps j'ai traqué tel ou tel cours, susceptibles d'attirer mon attention fragile. Un gros tuto complet et à jour pour débutant serait vraiment dans l'esprit de l'ancien sdz, n'est-ce pas l'objectif ici?
Sinon, rien à dire

Éternel curieux

+2 -0

Merci à tous pour vos messages.

Bon tutoriel et bien conçu mais j'ai du mal à digéré le fait qu'il s'agisse d'une introduction et que nous soyons obligé d'avoir des connaissances au préalable. Du moins la plupart des notions théoriques sont survolés trop rapidement. Longtemps j'ai programmer en ce magnifique langage et longtemps j'ai traqué tel ou tel cours, susceptibles d'attirer mon attention fragile. Un gros tuto complet et à jour pour débutant serait vraiment dans l'esprit de l'ancien sdz, n'est-ce pas l'objectif ici?
Sinon, rien à dire

jhonthekiller102

Comme tous les tutoriels, il est voué à s'améliorer et si ça doit être pour devenir un tutoriel complet alors soit (je suis d'ailleurs en train de rajouter des précisions).

Édité

Je fais un carnage si ce car nage car je nage, moi, Karnaj ! - Tutoriels LaTeX - Contribuez à un tutoriel Ruby

+2 -0

J'édite car j'ai un point de vue différent, je souhaite être plus objectif, je vais revenir sur certain points :

  • Obligé de maîtriser un chouïa la prog alors que le tuto m'a l'air expliqué pour les débutants, malgré ce fait c'est plutôt dommage comme perspective pour un langage comme Ruby.

  • Certes, ce n'est qu'une introduction mais outre, le tutoriel survole un peu trop les infos, il ne se concentre que sur la syntaxe pur et dur et fait l'impasse sur certaines explications (peut-être que cela justifie l'avertissement dans l'intro, m'enfin…)

  • La structure est un peu trop classique à mon goût, le langage étant totalement objet, autant innové.

Bon travail quand même. Des améliorations sont nécessaires pour son existence cependant.

Édité

Éternel curieux

+2 -0

Salut. :) J'aime beaucoup le tuto, j'ai cependant peur qu'il ne se complète pas parce que c'est aujourd'hui très difficile de trouver un bon cours à propos de ce langage. J'espère simplement que vous parlerez de la POO en profondeur, des bases de données, etc… :D

Enjoy! ^^

jhonthekiller102

Salut,

Content que le tutoriel te plaise. On discute déjà à propos de ce qu'il faut rajouter :)

Je fais un carnage si ce car nage car je nage, moi, Karnaj ! - Tutoriels LaTeX - Contribuez à un tutoriel Ruby

+2 -0

Votre cour est très bien écrit, félicitations !
Juste quelque chose qui me titille : c'est que vous parlez de la boucle begin ... end while .... Or celle-ci est déconseillé par le créateur du langage, il est préférable selon lui d'utiliser la boucle :

1
2
3
4
loop do
  # instructions
  break if # condition(s)
end

J'attend de voir la partie sur les tables de hash avec les symboles qui sont super bien pensés !

Édité

Mon projet : OpenPlane, un utilitaire en Java pour les pilotes, les vrais !

+2 -0

Votre cours est très bien écrit, félicitations !

Merci. :)

Juste quelque chose qui me titille : c'est que vous parlez de la boucle begin ... end while .... Or celle-ci est déconseillé par le créateur du langage, il est préférable selon lui d'utiliser la boucle :

1
2
3
4
loop do
  # instructions
  break if # condition(s)
end

Tu peux aller voir la version en bêta si tu veux, on en parle.

J'attends de voir la partie sur les tables de hash avec les symboles qui sont super bien pensés !

C'est dans la prochaine version de la bêta (c'est déjà écrit et tout, il reste juste à le mettre en bêta). Par contre c'est un chapitre sur les hachages et plus loin dan un autre chapitre on parle des symboles et de leur usage avec le hachages.

Je fais un carnage si ce car nage car je nage, moi, Karnaj ! - Tutoriels LaTeX - Contribuez à un tutoriel Ruby

+0 -0

Bonjour à tous. Pour ceux qui veulent déjà voir une version plus complète du tutoriel, vous pouvez aller voir la version bêta. Cela nous aidera beaucoup d'avoir vos avis à son propos afin de pouvoir offrir un tutoriel encore meilleur.

Au programme de nouveaux chapitres et une partie II sur la programmation objet.

Édité

Je fais un carnage si ce car nage car je nage, moi, Karnaj ! - Tutoriels LaTeX - Contribuez à un tutoriel Ruby

+1 -0

Je dois avouer que je n'ai fait que parcourir ce tutoriel.

Serai-il possible de faire apparaître les points forts par rapport à Python.

J'y vois beaucoup de points communs avec celui-ci (avec en plus quelques BEGIN, END qui font penser au bon vieux Pascal…)

+0 -0

Bonjour,

Tout d'abord je tiens à vous féliciter pour votre superbe tuto.

PavéCésar!

Je me suis mit à Ruby il y a peu suite aux conseils d'un collègue. Je suis d'abord passé par la case OpenClassrooms car je ne connaissais absolument pas votre site web. J'ai été très déçu de celui présent sur OC car bien que présenté comme une introduction au langage, les bases sont peu présentée voir pas du tout pour certaines choses. Le format de type vidéo, bien qu'il peut paraître plus "accessible" n'est vraiment pas pratique. Je ne retenais pas grand chose et je me contentais d'être un spectateur passif. De plus ce n'est pas très pratique quand on veut revoir ou vérifier quelque chose. Ensuite la dificultée de l'activité de fin de cours me paraissait complètement disproportionnée en comparaison avec le reste du cours. Je me suis senti complètement largué lorsque j'ai ouvert le projet à rendre.

J'ai donc fait un tour sur leur forum histoire de voir si ce n'était pas simplement moi qui était à coté de la plaque. C'est alors que je suis tombé sur un utilisateur qui conseillait de faire un tour sur votre site afin d'avoir de bonnes bases en Ruby grâce à ce tuto.

Encore une fois merci et félicitation. Les explications sont claires et les nombreux exercices en fin de chapitre me font vraiment progresser.

Bonne continuation à vous, moi je retourne à mon apprentissage !

Édité par Chinzu

+0 -0

Encore une fois merci et félicitation. Les explications sont claires et les nombreux exercices en fin de chapitre me font vraiment progresser.

Merci à toi. Ça fait plaisir de savoir que le tutoriel est clair et qu’il est apprécié. Si tu as des remarques et des retours sur ce qui peut être amélioré, n’est pas clair ou est mal expliqué, n’hésite pas. :)

Je fais un carnage si ce car nage car je nage, moi, Karnaj ! - Tutoriels LaTeX - Contribuez à un tutoriel Ruby

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte