我看到在Ruby(通常是动态类型的语言)中,一种非常常见的做法是传递哈希,而不是声明具体的方法参数。例如,与其声明一个带有参数的方法并像这样调用它:
def my_method(width, height, show_border)
my_method(400, 50, false)
您可以这样操作:
def my_method(options)
my_method({"width" => 400, "height" => 50, "show_border" => false})
我想知道您对此的看法。这是好事还是坏事,我们应该做还是不做?在哪种情况下使用此做法是有效的,并且在什么情况下可能会有危险?
{width => 400, height => 50, show_border => false}
无效的ruby语法。我认为您的意思是{:width => 400, :height => 50, :show_border => false}
或{width: 400, height: 50, show_border: false}
(后者仅在红宝石1.9.1中有效)