gpt4 book ai didi

ruby - 如何在 IRB 中重新加载脚本?

转载 作者:数据小太阳 更新时间:2023-10-29 06:20:12 25 4
gpt4 key购买 nike

我正在编写一个用于 Rails 环境的 Ruby 脚本,但我选择从 irb 运行它,因为重新加载 Rails 控制台会很麻烦。现在 irb 的等待时间要短得多,但我很烦恼每次进行更改时都必须重新启动 irb 并需要脚本。有没有更简单的方法从 irb 重新加载脚本?

我在this thread中找到了一个方法,但这显然只适用于 gem 文件。我的 require 语句看起来像这样

 require "#{File.expand_path(__FILE__)}/../lib/query"

编辑:尝试过 load 而不是 require 后,我仍然无法让它工作。我无法阻止这些错误。

ruby-1.9.2-p0 > load "#{File.expand_path(__FILE__)}/../lib/query.rb"
LoadError: no such file to load -- /Users/newuser/Dropbox/Sites/rails/hacknyc/(irb)/../lib/query.rb

最佳答案

在 irb 中,File.expand_path(__FILE__)} 只会返回 "#{path you run irb from}/(irb)"。这创建了一条实际上不存在的路径。幸运的是,所有文件路径都与您运行 irb 的位置相关。这意味着您只需要:

load "lib/query.rb"

如果您想在实际文件中使用 __FILE__,那很好,但不要指望它会在 irb 中生成有效路径。因为 irb 根本没有"file",所以它根本无法返回有效路径。

此外,如果在通过加载或要求加载到 irb 的文件中使用,__FILE__ 将正常工作。因为这有点像它的用途。

关于ruby - 如何在 IRB 中重新加载脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4632090/

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