[RUBY] À propos du hachage

Article sur le symbole précédent

Utiliser des symboles pour les clés de hachage

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}

Arguments et hachages de mots-clés de méthode

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)

Littérature référencée

Introduction à Ruby pour ceux qui veulent devenir des professionnels

Recommended Posts

À propos du hachage
À propos de Ruby Hash
À propos de Ruby Hash (suite)
À propos =
Ce que vous avez appris sur le hachage
À propos des hachages et symboles Ruby
À propos de method.invoke
À propos de Kotlin
À propos de attr_accessor
À propos de Hinemos
À propos de l'héritage
À propos de Docker
À propos des rails 6
À propos du printemps ③
À propos d'énumération
À propos du polymorphisme
À propos facultatif
À propos de JitPack
À propos de ça ()
À propos de l'encapsulation
À propos de JAVA_HOME
À propos de statique
À propos des exceptions
À propos de la portée
[Maven] À propos de Maven
À propos de la gestion des exceptions
[Java] À propos des fonctionnalités de Java 12
À propos du routage des rails
À propos de la complexité cyclique
À propos de la gestion des exceptions
À propos des génériques AsyncTask
À propos des symboles Ruby
À propos de la multiplication des tableaux
[Java] À propos des tableaux
À propos de Spring AOP
À propos des méthodes singulières
À propos des outils de création
Mâchez l'API
[À propos du double hachage]
Quelque chose à propos de java
Où est Java
À propos de la méthode de HttpServlet ()
À propos des fonctionnalités Java
À propos de SIGNING_REGION: NoSuchFieldError