Ein Alias für einen Methoden- oder Variablennamen in Ruby ist das Erstellen eines zweiten Namens für die Methode oder Variable. Aliasing kann verwendet werden, um dem Programmierer mithilfe der Klasse aussagekräftigere Optionen bereitzustellen oder um Methoden zu überschreiben und das Verhalten der Klasse oder des Objekts zu ändern. Ruby stellt diese Funktionalität mit den Schlüsselwörtern "alias" und "alias_method" zur Verfügung.
Das Schlüsselwort alias akzeptiert zwei Argumente: den alten Methodennamen und den neuen Methodennamen. Die Methodennamen sollten im Gegensatz zu Zeichenfolgen als Bezeichnungen übergeben werden. Beschriftungen werden verwendet, um auf Methoden und Variablen zu verweisen, ohne sie direkt zu referenzieren. Wenn Sie ein neuer Ruby-Programmierer sind, mag das Konzept der Beschriftungen seltsam erscheinen, aber wenn Sie eine Beschriftung wie ": methodenname" sehen, lesen Sie sie einfach als "das Ding namens methodenname". Im folgenden Beispiel wird eine neue Klasse deklariert und ein Alias für die on-Methode mit dem Namen start erstellt.
#! / usr / bin / env ruby
Klasse Mikrowelle
auf jeden Fall
setzt "Die Mikrowelle ist an"
Ende
alias: start: on
Ende
m = Mikrowelle neu
m.start # wie m.on.
Es kann vorkommen, dass Sie das Verhalten einer Klasse ändern möchten, nachdem sie deklariert wurde. Sie können einer vorhandenen Klasse einen Aliasnamen zuweisen und neue Methoden hinzufügen, indem Sie eine Deklaration der zweiten Klasse erstellen, die denselben Namen wie die vorhandene Klassendeklaration hat. Sie können einzelnen Objekten auch Aliase und Methoden hinzufügen, indem Sie eine Syntax verwenden, die der geerbten Klassensyntax ähnelt. Das Verhalten jeder Klasse kann geändert werden, indem für jede Methode ein Alias erstellt und anschließend eine neue Methode (mit dem ursprünglichen Methodennamen) erstellt wird, die die Methode mit dem Alias aufruft.
Im folgenden Beispiel wird eine Mikrowellenklasse deklariert und eine Instanz erstellt. Die Deklaration der zweiten Klasse verwendet die Alias-Methode, um das Verhalten der "on" -Methode zu ändern und eine Warnmeldung hinzuzufügen. Die Deklaration der dritten Klasse wird verwendet, um das Verhalten der bestimmten Mikrowelleninstanz zu ändern und eine noch strengere Warnung hinzuzufügen. Achten Sie beim mehrfachen Aliasing einer Methode darauf, unterschiedliche Methodennamen zum Speichern der alten Methode zu verwenden.
#! / usr / bin / env rubyclass Mikrowelle
def on stellt "Mikrowelle ist an" ein endm = Microwave.newm.onclass Microwave alias: old_on1: on
def on puts "Achtung: Keine Metallgegenstände einführen!" old_on1 end Ende
m.on.
# Nachricht für diese bestimmte Mikrowelle
Klasse < def on
setzt "Diese Mikrowelle ist schwach, zusätzliche Zeit hinzufügen"
old_on2
Ende
Ende
m.on # Zeigt eine zusätzliche Nachricht an
m2 = Mikrowelle.neu
m2.on # Zeigt keine zusätzliche Nachricht an