Ruby - Schlüsselwortargumente - Können Sie alle Schlüsselwortargumente als Hash behandeln? Wie?

Ich habe eine Methode, die so aussieht:

def method(:name => nil, :color => nil, shoe_size => nil) 
  SomeOtherObject.some_other_method(THE HASH THAT THOSE KEYWORD ARGUMENTS WOULD MAKE)
end

Für jeden Anruf kann ich eine beliebige Kombination optionaler Werte akzeptieren. Ich mag die genannten Argumente, weil ich mir nur die Signatur der Methode ansehen kann, um zu sehen, welche Optionen verfügbar sind.

Ich weiß nicht, ob es eine Abkürzung für das gibt, was ich im obigen Codebeispiel in Großbuchstaben beschrieben habe.

Früher war es:

def method(opts)
  SomeOtherObject.some_other_method(opts)
end

Elegant, einfach, fast betrogen.

Gibt es eine Verknüpfung für diese Keyword-Argumente oder muss ich meinen Options-Hash im Methodenaufruf neu erstellen?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage