如果滿足某些條件,我想重新定義函數庫中某個函數的行爲,但在其他情況下執行原始函數。例如:重新定義方法
class LibraryToExtend
def FunctionToExtend(argument)
if argument == something
do_something_new
else
do_what_the_function_did_originally
end
end
end
我不認爲super
會在這種情況下工作,因爲我重寫功能,而不是擴展它。
誰downvoted這個? –
這是[當猴子修補方法時,你可以從新實現中調用重寫的方法](http://StackOverflow.Com/q/4470108/#4471202)。 –
這是沒有理由downvote,只是關閉作爲dup(儘管我更喜歡我的答案,這個問題'英里長'的答案) –