Alias un nom de méthode ou de variable dans Ruby, c'est créer un deuxième nom pour la méthode ou la variable. L'aliasing peut être utilisé pour fournir des options plus expressives au programmeur utilisant la classe ou pour aider à remplacer les méthodes et à changer le comportement de la classe ou de l'objet. Ruby fournit cette fonctionnalité avec les mots clés "alias" et "alias_method".
Le mot-clé alias prend deux arguments: l'ancien nom de méthode et le nouveau nom de méthode. Les noms de méthode doivent être passés sous forme d'étiquettes, par opposition à des chaînes. Les étiquettes sont utilisées pour faire référence aux méthodes et aux variables sans les référencer directement. Si vous êtes un nouveau programmeur Ruby, le concept d'étiquettes peut sembler étrange, mais chaque fois que vous voyez une étiquette comme ": nom_méthode", lisez-la simplement comme "la chose appelée nom_méthode". L'exemple suivant déclare une nouvelle classe et crée un alias pour la méthode on appelée start.
#! / usr / bin / env rubis
Micro-ondes classe
def on
met "Le micro-ondes est allumé"
fin
alias: start: on
fin
m = Micro-onde.nouveau
m.start # identique à m.on
Il peut arriver que vous souhaitiez modifier le comportement d'une classe après sa déclaration. Vous pouvez créer un alias et ajouter de nouvelles méthodes à une classe existante en créant une deuxième déclaration de classe qui porte le même nom que la déclaration de classe existante. Vous pouvez également ajouter des alias et des méthodes à des objets individuels à l'aide d'une syntaxe similaire à la syntaxe de classe héritée. Le comportement de n'importe quelle classe peut être modifié en créant un alias pour n'importe quelle méthode, puis en créant une nouvelle méthode (avec le nom de la méthode d'origine) qui appelle la méthode avec l'alias.
Dans l'exemple suivant, une classe hyperfréquence est déclarée et une instance est créée. La deuxième déclaration de classe utilise la méthode alias pour modifier le comportement de la méthode "on" afin d'ajouter un message d'avertissement. La déclaration de troisième classe est utilisée pour modifier le comportement de l'instance micro-ondes spécifique afin d'ajouter un avertissement encore plus sévère. Lorsque vous aliasez une méthode plusieurs fois, veillez à utiliser des noms de méthode différents pour stocker l'ancienne méthode.
#! / usr / bin / env Rubyclass Micro-ondes
def on met "Microwave is on" end endm = Microwave.newm.onclass Alias micro-ondes: old_on1: on
def on met "Attention: N'insérez pas d'objets métalliques!" old_on1 end fin
lun
# Message pour ce micro-ondes spécifique
classe < def on
met "Ce micro-ondes est faible, ajoutez du temps supplémentaire"
old_on2
fin
fin
m.on # Affiche un message supplémentaire
m2 = Micro-onde.nouveau
m2.on # N'affiche pas de message supplémentaire