【发布时间】:2010-12-27 23:46:32
【问题描述】:
我看到在 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}(后者仅在 ruby 1.9.1 中有效)
标签: ruby oop coding-style