ruby - 如何每次都重新加载外部文件?

标签 ruby

我有一个 ruby​​ 脚本,其中我的“配置”位于一个额外的文件中。它的名称为ftp_config.rb。然后我有从 ftp 服务器下载文件的 filetrack.rb - ftp_config.rb 中指定了哪些文件/目录。最后,我得到了 rufus_download.rb,它每天都会从 filetrack.rb 调用一个函数,这样我就可以从服务器获取所有新文件。

一切正常,只是我想知道如何做到这一点,因此当我编辑 ftp_config.rb 时,脚本会拾取更改,而无需重新启动 rufus_download.rb。

目前

  • rufus_download.rb 包含 require_relative 'filetrack'
  • filetrack.rb 包含 require_relative 'ftp_config'

现在,如果我添加要下载的新文件到 ftp_config.rb,我需要重新启动 rufus

最佳答案

require_relative返回false如果您请求的文件已加载到您的 ruby​​ 脚本并返回 true如果你还没有

如果您希望直接加载更改,您需要 load文件

load 'path/to/ftp_config'

每次执行脚本时都会加载/重新加载脚本

编辑:

您可以通过扩展当前ruby脚本的路径来加载:

load ::File.expand_path('../ftp_config.rb', __FILE__)

假设文件位于同一文件夹中

编辑

希望有帮助

关于ruby - 如何每次都重新加载外部文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33361152/

相关文章:

sql - 使用 ActiveRecord 获取一系列有条件的计数

ruby - 使用 RSpec 和 VCR 测试 Web API

ruby-on-rails - 为什么列 trades.item_id 不存在?

ruby - 将 Paypal 与 Ruby 集成的最佳方式

ruby-on-rails - Heroku 上的 Bundler 错误(使用 capybara gem)

ruby - 使用正则表达式找到一个字符串,然后使用正则表达式找到一个新的字符串来替换它

ruby-on-rails - rails 迁移一一

ruby-on-rails - 未定义的方法 `remote_function'

mysql - 我可以开始记录应用程序发起的 SQL 查询,以便了解它在做什么吗?

ruby-on-rails - 在条件路由期间未在 Rails 3 中设置 request.subdomain