我正在编辑一个文件,我使用irb来测试api:
> require './file.rb' > o = Object.new > o.method
然后我想要能够编辑file.rb,并且可以立即看到更改.示例:假设new_method不存在,当我第一次需要file.rb时:
> o.new_method
哪个会返回一个错误.是否有沙盒/开发者模式或方法,我可以实现上述,而不必每次重新加载文件?要求在第一个要求之后不会工作,不管.我假设最坏的情况我不得不使用负载.
解决方法
我通常会创建一个简单的函数:
def reload load 'myscript.rb' # Load any other necessary files here ... end
因此,简单的重新加载将重新导入我正在处理的所有脚本.这不是自动的,但它是我能够想出的最接近的事情.
当使用不存在的方法调用对象时,您可以覆盖method_missing来自动调用此函数.我从来没有尝试过,所以我不能给出任何具体的建议.如果您调用已经存在但已被修改的方法,那么它也不会有帮助.
在我自己的懒惰中,我已经将我的鼠标上的一个可编程按钮映射到键序列“reload< enter>”.当我使用irb,所有它需要的是一个小指的手指抽搐重新加载所有的东西.因此,当我不使用irb时,我最终会在无意中插入文档中的字符串“reload”(但这完全是一个不同的问题).
原文地址:https://www.jb51.cc/ruby/265849.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。