Ich sehe, dass in Ruby (und in dynamisch typisierten Sprachen im Allgemeinen) eine sehr übliche Praxis darin besteht, einen Hash zu übergeben, anstatt konkrete Methodenparameter zu deklarieren. Anstatt beispielsweise eine Methode mit Parametern zu deklarieren und wie folgt aufzurufen:
def my_method(width, height, show_border)
my_method(400, 50, false)
Sie können es so machen:
def my_method(options)
my_method({"width" => 400, "height" => 50, "show_border" => false})
Ich würde gerne Ihre Meinung dazu erfahren. Ist es eine gute oder eine schlechte Praxis, sollten wir es tun oder nicht? In welcher Situation ist die Anwendung dieser Praxis gültig und in welcher Situation kann sie gefährlich sein?
{width => 400, height => 50, show_border => false}
ist keine gültige Ruby-Syntax. Ich denke du meinst{:width => 400, :height => 50, :show_border => false}
oder{width: 400, height: 50, show_border: false}
(letzteres gilt nur in Ruby 1.9.1)