emacs中的defadvice,使用它的正确上下文

时间:2015-06-24 18:29:49

标签: emacs elisp

有人可以对(defadvice ...)做一个简短的解释,我不知道何时适合使用它,似乎在C / C ++ / Java语言中不常见?如附图所示的例子。非常感谢。enter image description here

1 个答案:

答案 0 :(得分:2)

建议功能(无论是使用defadvice还是使用更新advice-add等)是重新定义功能的替代方法。

如果您不是某个功能的作者,并且它可能已经在代码之外的其他地方使用过,您可以重新定义或建议它,然后每次使用该功能将使用您的重新定义或您的建议。这是可逆的:你可以禁用你的建议。

通常,重新定义函数并不能很好地与其他库一起使用,而这些库本身可能希望以某种方式重新定义或扩展它。

建议的意思是它允许多个库以合理控制的方式改变或增强功能定义,这样不同的库就可以减少彼此踩踏的机会。脚趾。或者至少这样可以很容易地删除任何库更改对函数的影响。