我有一个在我的应用程序中多次调用的旧函数。我想稍微更新一下,这涉及添加一些新的参数。
当我编写这个函数时,我不明白将哈希作为唯一参数的好处(这里提到:http://www.skorks.com/2009/08/more-advanced-ruby-method-arguments-hashes-and-blocks/)
我有:
def old_function(some_arg)
puts some_arg
end
我想重写一下这样的哈希:
def old_function(some_arg, hash)
puts hash[:new_stuff] + "--" + some_arg
end
虽然这不会破坏:
puts old_function('greetings')
答案 0 :(得分:3)
def old_function(some_arg, hash = {})
## Code
end
如果没有给出散列,则散列= {}将散列设置为空散列,因此较旧的代码仍会传递给方法。