在 ruby 中有没有办法为一个模块自动加载多个文件?

Is there is way to autoload multiple file for one module in ruby?

我知道内核有一个方法 autoload(module, filename) 可以注册一个文件名,以便在第一次访问该模块时加载。

但是如果我有一个模块,其定义被分成多个文件,有没有办法自动加载所有文件?

更接近的方法是使用 autoload 表示模块主要定义的文件进行引用,并在该文件中向进一步重新定义模块的每个附加文件添加一条 require 语句。

您还应该问问自己,为什么要将一个定义拆分成多个文件,如果您假设每个文件都与该定义相关,那么这是否是最好的方法。

您可以让自动加载的模块文件需要(或更好,require_relative)其他文件。执行此操作时,一种常见的方法是让此文件只有 require 语句而没有代码。