微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

你可以在irb会话中自动要求每个命令的ruby文件吗?

我正在编辑一个文件,我使用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 举报,一经查实,本站将立刻删除。

相关推荐