0
擴展課程時是否是猴子補丁?什麼是猴子修補,爲什麼它如此可惡?
class Hash
def delete_blanks!
delete_if { |k, v| v.is_nil? }
end
end
然後,你可以這樣做:
h = { red: 'stop', yellow: 'ready', purple: nil, green: 'go'}
h.delete_blanks! #=> { red: 'stop', yellow: 'ready', green: 'go' }
那是一隻猴子補丁?這是怎麼回事:
class ActiveRecord::Base
def foo
"bar"
end
end
這是怎麼回事?
我沒有爭論,我準備假設它是壞的,但我應該如何去模擬這種行爲沒有猴子補丁?我應該send
的方法?
的[?什麼是「猴子補丁」正是在Ruby中平均(可能重複http://stackoverflow.com/questions/394144/what-do-monkey-patching-exactly-mean-in-ruby) –
你第二類只是一個擴展另一個類的類。我不認爲它與monkeypatching相關如何 – njzk2
'重複'並沒有說明你應該如何正確地擴展一個類。 – Starkers