2009-08-28 30 views
0

我有一個在我的應用程序中多次調用的舊函數。我想稍微更新一下,這涉及到添加一些新的參數。在保持Ruby向下兼容性的同時向函數添加新參數

當我寫的功能,我不明白的好處已經使哈希的唯一參數(這裏提到: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') 

回答

3
def old_function(some_arg, hash = {}) 
    ## Code 
end 

散列= {}設定散列到一個空散列。