方法参数采取以下类:思考 - 以红宝石
class Automator
def fill_specific_form(fields)
fields.each_pair do |key, value|
puts "Setting '#{key}' to '#{value}'"
end
end
end
a = Automator.new
a.fill_specific_form :first_name => "Mads", :last_name => "Mobæk"
# => Setting 'first_name' to 'Mads'
# => Setting 'last_name' to 'Mobæk'
是否有可能做同样没有散?由于需要的所有参数,我想用下面签名的方法:
fill_specific_form(first_name, last_name)
在我看来这是有可能通过具有方法体反映和遍历其参数,从而达到相同的结果。
你将如何实现这一点?这个模式/习语是否已经存在?两个明显的好处是IDE中的参数信息,而不必检查是否提供了所有的散列键。
我想避免的是:
puts "Setting first_name to #{first_name}"
puts "Setting last_name to #{last_name}"
# and so on
重复的[Ruby - 打印变量名称,然后它的值](http://stackoverflow.com/questions/2603617/ruby-print-the-variable-name-and-then-its-value) – 2010-08-11 23:26:28
This是[有没有办法在ruby中返回方法参数名称](http://StackOverflow.Com/q/2452077/#2452322)。 – 2011-08-21 10:18:50