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

前端之家收集整理的这篇文章主要介绍了你可以在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”(但这完全是一个不同的问题).

猜你在找的Ruby相关文章