[RAILS] [Ruby] Mots clés avec mots clés et valeurs par défaut des arguments

introduction

version ruby 2.6.3 rails 5.2.3

J'étais accro parce que je ne comprenais pas vraiment les arguments mot-clé. Même si j'ai utilisé égal pour définir une méthode avec une valeur par défaut, j'appelais un argument avec un mot-clé lors de l'appel de la méthode, donc un argument involontaire a été passé et une erreur s'est produite. C'était.

Cette erreur

#Définir la méthode avec des arguments valorisés par défaut
def hello(lang = "ja", place = "Japan")
 puts "#{lang} : #{place}"
end

#Comment appeler un argument avec un mot-clé
hello(lang: "en", place: "America")
#=>
{:lang=>"en", :place=>"America"} : Japan

L'argument a été interprété comme un hachage et un argument involontaire a été passé.


À propos des arguments avec des mots-clés

Référence https://qiita.com/jnchito/items/74e0930c54df90f9704c

def hello(lang: "ja", place: "Japan")
 puts "#{lang} : #{place}"
end

#Appel sans arguments
hello
#=>
ja : Japan

#Appel en changeant la valeur de l'argument avec des mots-clés
hello(lang: "en", place: "America")
#=>
en : America

#Appel avec des arguments sans mot-clé
hello("en", "America")
#=>
wrong number of arguments (given 2, expected 0) 

L'appel d'une méthode avec des arguments mot-clé sans arguments appelle la méthode avec des valeurs par défaut. Une erreur se produit lors de la tentative d'appel avec un argument sans mot clé.

À propos des arguments avec des valeurs par défaut

Référence https://rooter.jp/programming/ruby_method_default/

def hello(lang = "ja", place = "Japan")
 puts "#{lang} : #{place}"
end

#Appel sans arguments
hello
#=>
"ja : Japan"

#Appel avec des arguments sans mot-clé
hello("en", "America")
#=>
en : America

Recommended Posts

[Ruby] Mots clés avec mots clés et valeurs par défaut des arguments
Arguments avec des valeurs par défaut Prenez la méthode full_title du tutoriel Rails comme exemple
[Ruby] Questions et vérification du nombre d'arguments de méthode
Installez Ruby 3.0.0 Preview 1 avec une combinaison de Homebrew et de rbenv
Comment gérer différentes versions de rbenv et Ruby
Valeurs par défaut pour MaxHeapSize et InitialHeapSize
Arguments Java, valeurs de retour et surcharges
Ecrire des clés et des valeurs dans Ruby
Impressions de faire Black Jack-cli avec Ruby
Implémentation par défaut de Object.equals () et Object.hashCode ()
Avec ruby ● × Game et Othello (examen de base)
Notez les arguments de mot-clé Ruby
Méthode de surcharge avec arguments Int et Integer
Explication des objets Ruby Time et Date
Résumé des hachages et symboles dans Ruby
Extraire une partie d'une chaîne en Ruby
[Ruby] Distinction et utilisation des boucles dans Ruby
Comparaison des objets JavaScript et des classes Ruby
Acquisition de données JSON et rotation des valeurs
Conversion de JSON en TSV et TSV en JSON avec Ruby
J'ai essayé d'implémenter Ruby avec Ruby (et C) (j'ai joué avec intégré)
Essayez d'intégrer Ruby et Java avec Dapr
Gérez la version de Ruby elle-même avec rbenv
Ruby on Rails ~ Principes de base de MVC et du routeur ~
Créez un notebook Jupyter avec Docker et exécutez ruby
À propos de la synchronisation des appels et des arguments de la méthode addToBackStack
Spécifiez la valeur par défaut avec @Builder of Lombok
Mélanger les cas de test avec JUnit 5 et les méthodes par défaut
[Ruby / Rails] Désactiver Lint de update_all avec Rubocop
[Java] Convertir et importer des valeurs de fichier avec OpenCSV
J'ai vérifié le nombre de taxis avec Ruby
Bases de Ruby
Rubis et gemme
Ressentez facilement le type de base et le type de référence avec ruby
[Rails] Implémentation de la fonction glisser-déposer (avec effet)
Tableau 2D AtCoder ABC129 D résolu en Ruby et Java
Résumé du comportement de ToString avec les annotations Java et Groovy
Compatibilité de Spring JDBC et My Batis avec Spring Data JDBC (provisoire)
[Ruby] Exclure et remplacer des modèles spécifiques par des expressions régulières
Résolution avec Ruby, Perl et Java AtCoder ABC 128 C
[Ruby] J'ai fait un robot avec de l'anémone et du nokogiri.
Créer un environnement de débogage Ruby avec VS Code de Windows 10
Ressentez facilement le type de base et le type de référence avec ruby 2
Installez rbenv avec apt sur ubuntu et mettez ruby
[Note technique] À propos des avantages et des inconvénients de Ruby
Résumé de la mise en œuvre des arguments par défaut en Java
[Ruby] Imbrication de classes, héritage et principes de base de soi
[Java] [Kotlin] Appeler valueOf et les valeurs de Enum de manière générique
Traitement de la date et de l'heure en Ruby. Utilisez correctement la date et l'heure.