Wie ich in meinem letzten Artikel über Symbole erwähnt habe, sind Symbole besser als Zeichenfolgen für Hash-Schlüssel. Die Verwendung eines Symbols für den Hash-Schlüssel führt zu folgendem Code:
menu = { :food => 'rice', :dessert => 'cake'}
#Beim Abrufen des Wertes
menu[:dessert] # => "cake"
#Beim Hinzufügen einer neuen Schlüssel / Wert-Kombination
menu[:drink] = 'water'
p menu # => {:food=>"rice", :dessert=>"cake", :drink=>"water"}
Wenn das Symbol der Schlüssel ist, können Sie den Hash mit der Notation symbol: value
erstellen, ohne => zu verwenden.
(* Die Position des Doppelpunkts ändert sich von links nach rechts)
(Beispiel)
menu = {food: 'rice', dessert: 'cake'}
#Gleiches gilt für das Abrufen von Werten
menu[:dessert] # => "cake"
(Beispiel) Code, wenn sowohl Schlüssel als auch Wert Symbole sind
{food: :rice, dessert: :cake, drink: :water}
Verwenden Sie beim Übergeben von Argumenten an eine Methode die Schlüsselwortargumente der Methode, um die Lesbarkeit zu verbessern. Die Schlüsselwortargumente für die Methode sind wie folgt definiert:
def Methodenname(Schlüsselwortargument 1:Standardwert 1,Schlüsselwortargument 2:Standardwert 2)
#Methodenimplementierung
end
(Beispiel mit Schlüsselwortargumenten)
def buy_food(menu, drink: true, dessert: true)
#Essen kaufen
if drink
#Kaufen Sie ein Getränk
end
if dessert
#Dessert kaufen
end
end
#Kaufen Sie Reis, Getränke und Desserts
buy_food('rice', drink: true, dessert: true)
#Pizza kaufen und trinken
buy_food('pizza', drink: true, dessert: false)
Beim Aufrufen einer Methode mit Schlüsselwortargumenten, genau wie beim Erstellen des Hashs Symbol: Geben Sie das Argument in Form eines Werts an.
Darüber hinaus hat das Schlüsselwortargument einen Standardwert, sodass das Argument weggelassen werden kann.
buy_food('rice', drink: true, dessert: true)
⬇︎ Getränk und Dessert verwenden ebenfalls den Standardwert true. Geben Sie sie daher nicht an.
buy_food('rice')
Sie können den Standardwert des Schlüsselwortarguments weglassen.
def buy_food(menu, drink:, dessert:)
#Kürzung
end
Schlüsselwortargumente ohne Standardwerte können während des Aufrufs nicht weggelassen werden. (Wenn nicht angegeben, tritt ein Fehler auf.)
buy_food('rice', drink: true, dessert: true)
Beim Aufruf einer Methode, die Schlüsselwortargumente verwendet Es ist auch möglich, einen Hash (Schlüssel ist ein Symbol) zu übergeben, der dem Schlüsselwortargument als Argument entspricht.
Params = { drink: true, dessert: false }
buy_food('rice', params)
Einführung in Ruby für diejenigen, die Profis werden möchten
Recommended Posts