gpt4 book ai didi

ruby - 在 IRB 中四处闲逛/调试。 Monkey-patch 一个方法,然后 "undo"那改变,没有退出 IRB?

转载 作者:太空宇宙 更新时间:2023-11-03 16:09:03 26 4
gpt4 key购买 nike

我发现 IRB 作为试错式调试工具非常有用,我真的不知道问题出在哪里,但可以利用 IRB 的 REPL 特性快速迭代潜在列表重现问题并将其提炼出来的方法。

有时我决定重新打开属于已加载 gem 的类,并向方法添加一些调试输出,或者完全覆盖该方法。完成后,是否有一种简单的方法可以在不退出 IRB 并重新启动它的情况下“取消猴子补丁”类(class)(我目前的方法)?

最佳答案

如果您要重新定义一个方法,您可以为旧方法创建别名,然后定义新方法。完成后,您可以再次重新定义方法并调用方法别名。

第一步:

alias :old_method :method

def method
# fancy new stuff
end

完成后:

def method
old_method
end

关于ruby - 在 IRB 中四处闲逛/调试。 Monkey-patch 一个方法,然后 "undo"那改变,没有退出 IRB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7659206/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com