Ce tutoriel est en travail. J'y note les éléments de base du langage au fur et à mesure que je les découvre et expérimente
Bases du langage
La syntaxe de Ruby est assez souple:
- Vous n'avez pas besoin de terminer une ligne par un point-virgule, bien que cela ne pose aucun problème
- l'utilisation des parenthèses pour l'appel de méthode n'est pas nécessaire
- Vous pouvez ne pas délimiter vos paramètres de méthode par des parenthèses, aussi bien dans la déclaration de la méthode que dans son appel. Toutefois, pour des raisons de lisibilité, je ne peux que vous conseiller d'utiliser les parenthèses.
Variables
Ruby utilise une convention de nommage pour reconnaître l'utilisation d'un nom :
| mot commençant par une minuscule ou un soulignement | Nom de variable ou de méthode |
| mot commençant par une majuscule | Nom de classe, module ou constante |
| mot préfixé par $ | variable globale |
| mot préfixé par @ | variable d'instance |
| mot préfixé par @@ | variable de classe |
Contrairement à Perl, il n'y a pas de notation particulière pour indiquer qu'une variable va contenir un tableau, ou un tableau associatif.
Pour créer un tableau, vous pouvez soit affecter une ou plusieurs valeurs à la variable en utilisant les délimiteurs [], soit instancier un tableau avec Array.new. Exemples :
myFirstArray = ["salut", "mon", "ami"] mySecondArray = [] myThirdArray = Array.new
Le tableau associatif utilise des accolades à la place de crochets.
Définition des classes
- Le nom d'une classe doit être une constante, donc doit commencer par une majuscule.
- La valeur de retour d'une méthode est renvoyé par le mot clé @@return@@, ou est simplement la dernière expression évaluée dans la méthode. Exemple :
def disBonjour(nom) "salut, #{nom}" end
Reflexion
–> voir Reflection, ObjectSpace, and Distributed Ruby dans Programming Ruby.
Une des grandes souplesse du script par rapport au langages compilés est la possibilité à l'exécution d'obtenir des informations sur la structure du code. Cette possibilité est appelée la réflexion, c'est-à-dire la possibilité de se voir soi-même. La plupart des langages de script modernes (ainsi de des langages pseudo-compilés comme Java ou les langages .NET) ont de telles fonctionnalités. Ruby permet une réflexion poussée (introspection et intercession) Que pouvons-nous faire ? Afficher la liste des variables d'un certain type dans le scope :
ObjectSpace.each_object(String) {|x| puts x }
connaître les méthodes et l'état d'une classe :
s = 'salut' puts s.methods puts s.protected_methods puts s.private_methods puts s.public_methods puts s.instance_variables puts s.constants



