我有一个 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/