[RAILS] [Ruby] Schlüsselwörter mit Schlüsselwörtern und Standardwerten von Argumenten

Einführung

Ausführung ruby 2.6.3 rails 5.2.3

Ich war süchtig danach, weil ich Keyword-Argumente nicht wirklich verstand. Obwohl ich gleich verwendet habe, um eine Methode mit einem Standardwert zu definieren, habe ich beim Aufrufen der Methode ein Argument mit einem Schlüsselwort aufgerufen, sodass ein unbeabsichtigtes Argument übergeben wurde und ein Fehler aufgetreten ist. Es war.

Dieser Fehler

#Definieren Sie die Methode mit Standardargumenten
def hello(lang = "ja", place = "Japan")
 puts "#{lang} : #{place}"
end

#So rufen Sie ein Argument mit einem Schlüsselwort auf
hello(lang: "en", place: "America")
#=>
{:lang=>"en", :place=>"America"} : Japan

Das Argument wurde als Hash interpretiert und ein unbeabsichtigtes Argument wurde übergeben.


Über Argumente mit Schlüsselwörtern

Referenz https://qiita.com/jnchito/items/74e0930c54df90f9704c

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

#Rufen Sie ohne Argumente an
hello
#=>
ja : Japan

#Rufen Sie auf, indem Sie den Wert des Arguments mit Schlüsselwörtern ändern
hello(lang: "en", place: "America")
#=>
en : America

#Rufen Sie mit schlüsselwortlosen Argumenten auf
hello("en", "America")
#=>
wrong number of arguments (given 2, expected 0) 

Wenn Sie eine Methode mit einem Argument mit einem Schlüsselwort ohne Argument aufrufen, wird die Methode mit dem Standardwert aufgerufen. Beim Versuch, mit einem schlüsselwortlosen Argument aufzurufen, tritt ein Fehler auf.

Informationen zu Argumenten mit Standardwerten

Referenz https://rooter.jp/programming/ruby_method_default/

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

#Rufen Sie ohne Argumente an
hello
#=>
"ja : Japan"

#Rufen Sie mit schlüsselwortlosen Argumenten auf
hello("en", "America")
#=>
en : America

Recommended Posts

[Ruby] Schlüsselwörter mit Schlüsselwörtern und Standardwerten von Argumenten
Argumente mit Standardwerten Nehmen Sie als Beispiel die Methode full_title des Rails-Lernprogramms
[Ruby] Fragen und Überprüfung der Anzahl der Methodenargumente
Installieren Sie Ruby 3.0.0 Preview 1 mit einer Kombination aus Homebrew und rbenv
Umgang mit verschiedenen Versionen von rbenv und Ruby
Standardwerte für MaxHeapSize und InitialHeapSize
Java-Argumente, Rückgabewerte und Überladungen
Schreiben Sie Schlüssel und Werte in Ruby
Eindrücke von Black Jack-Cli mit Ruby
Standardimplementierung von Object.equals () und Object.hashCode ()
Mit Rubin ● × Game und Othello (Grundlegende Bewertung)
Notieren Sie sich die Ruby-Schlüsselwortargumente
Überladungsmethode mit Int- und Integer-Argumenten
Erläuterung der Ruby Time- und Date-Objekte
Zusammenfassung der Hashes und Symbole in Ruby
Extrahieren Sie einen Teil einer Zeichenfolge in Ruby
[Ruby] Schleifenunterscheidung und Verwendung in Ruby
Vergleich von JavaScript-Objekten und Ruby-Klassen
Erfassung von JSON-Daten und Drehung von Werten
Konvertieren Sie mit Ruby von JSON nach TSV und von TSV nach JSON
Ich habe versucht, Ruby mit Ruby (und C) zu implementieren (ich habe mit Builtin gespielt)
Versuchen Sie, Ruby und Java in Dapr zu integrieren
Verwalten Sie die Version von Ruby selbst mit rbenv
Ruby on Rails ~ Grundlagen von MVC und Router ~
Erstellen Sie mit Docker ein Jupyter-Notizbuch und führen Sie Ruby aus
Informationen zum Aufruf-Timing und zu den Argumenten der addToBackStack-Methode
Geben Sie den Standardwert mit @Builder of Lombok an
Mischen Sie Testfälle mit JUnit 5 und Standardmethoden
[Ruby / Rails] Inaktiviere Lint von update_all mit Rubocop
[Java] Konvertieren und Importieren von Dateiwerten mit OpenCSV
Ich habe die Anzahl der Taxis mit Ruby überprüft
Grundlagen von Ruby
Rubin und Edelstein
Fühlen Sie den Grundtyp und Referenztyp leicht mit Rubin
[Rails] Implementierung der Drag & Drop-Funktion (mit Wirkung)
AtCoder ABC129 D 2D-Array In Ruby und Java gelöst
Zusammenfassung des ToString-Verhaltens mit Java- und Groovy-Annotationen
Kompatibilität von Spring JDBC und My Batis mit Spring Data JDBC (vorläufig)
[Ruby] Schließen Sie bestimmte Muster aus und ersetzen Sie sie durch reguläre Ausdrücke
Lösen mit Ruby, Perl und Java AtCoder ABC 128 C.
[Ruby] Ich habe einen Crawler mit Anemone und Nokogiri gemacht.
Erstellen Sie eine Ruby-Debug-Umgebung mit VS Code von Windows 10
Fühlen Sie den Grundtyp und Referenztyp leicht mit Rubin 2
Installieren Sie rbenv mit apt auf Ubuntu und setzen Sie Ruby
[Technisches Memo] Über die Vor- und Nachteile von Ruby
Zusammenfassung der Implementierung von Standardargumenten in Java
[Ruby] Klassenverschachtelung, Vererbung und die Grundlagen des Selbst
[Java] [Kotlin] Rufen Sie valueOf und Werte von Enum generisch auf
Umgang mit Datum und Uhrzeit in Ruby. Verwenden Sie Datum und Uhrzeit richtig.