Article sur le symbole précédent
Comme je l'ai mentionné dans mon dernier article sur les symboles, les symboles sont meilleurs que les chaînes pour les clés de hachage. L'utilisation d'un symbole pour la clé de hachage donne le code suivant:
menu = { :food => 'rice', :dessert => 'cake'}
#Lors de la récupération de la valeur
menu[:dessert] # => "cake"
#Lors de l'ajout d'une nouvelle combinaison clé / valeur
menu[:drink] = 'water'
p menu # => {:food=>"rice", :dessert=>"cake", :drink=>"water"}
Si le symbole est la clé, vous pouvez créer le hachage avec la notation symbol: value
sans utiliser =>.
(* La position des deux points change de gauche à droite)
(Exemple)
menu = {food: 'rice', dessert: 'cake'}
#Idem lors de la récupération des valeurs
menu[:dessert] # => "cake"
(Exemple) Code lorsque la clé et la valeur sont des symboles
{food: :rice, dessert: :cake, drink: :water}
Lorsque vous passez des arguments à une méthode, utilisez les arguments de mot-clé de la méthode pour améliorer la lisibilité. Les arguments de mot-clé pour la méthode sont définis comme suit:
nom de la méthode def(Argument de mot-clé 1:Valeur par défaut 1,Argument de mot-clé 2:Valeur par défaut 2)
#Implémentation de la méthode
end
(Exemple utilisant des arguments de mots-clés)
def buy_food(menu, drink: true, dessert: true)
#Acheter de la nourriture
if drink
#Acheter un verre
end
if dessert
#Acheter un dessert
end
end
#Achetez du riz, des boissons et des desserts
buy_food('rice', drink: true, dessert: true)
#Acheter une pizza et boire
buy_food('pizza', drink: true, dessert: false)
Lors de l'appel d'une méthode avec des arguments de mot-clé, comme vous l'avez fait lorsque vous avez créé le hachage Symbole: spécifiez l'argument sous la forme d'une valeur.
De plus, l'argument mot-clé a une valeur par défaut, donc l'argument peut être omis.
buy_food('rice', drink: true, dessert: true)
⬇︎ boisson et dessert utilisent également la valeur par défaut true, ne les spécifiez donc pas.
buy_food('rice')
Vous pouvez omettre la valeur par défaut de l'argument mot-clé.
def buy_food(menu, drink:, dessert:)
#réduction
end
Les arguments de mot-clé qui n'ont pas de valeurs par défaut ne peuvent pas être omis lors de l'appel. (Si omis, une erreur se produira.)
buy_food('rice', drink: true, dessert: true)
Lors de l'appel d'une méthode qui utilise des arguments de mot-clé Il est également possible de passer un hachage (la clé est un symbole) qui correspond à l'argument du mot-clé comme argument.
Params = { drink: true, dessert: false }
buy_food('rice', params)
Introduction à Ruby pour ceux qui veulent devenir des professionnels
Recommended Posts