将多个ruby源文件合并到一个文件中
我正在用ruby做一个项目,我有很多源文件,每个源文件在一个模块中声明了几个类和方法。我一直在四处寻找,可能只是遗漏了一些东西,但我似乎找不到一种方法将所有源文件合并到一个文件中。我想要一个文件,因为这里的最终产品是一个命令行工具,用户不希望为了运行一个命令而安装20个文件 有没有办法获取许多ruby源文件并提前处理所有的将多个ruby源文件合并到一个文件中,ruby,build,building,Ruby,Build,Building,我正在用ruby做一个项目,我有很多源文件,每个源文件在一个模块中声明了几个类和方法。我一直在四处寻找,可能只是遗漏了一些东西,但我似乎找不到一种方法将所有源文件合并到一个文件中。我想要一个文件,因为这里的最终产品是一个命令行工具,用户不希望为了运行一个命令而安装20个文件 有没有办法获取许多ruby源文件并提前处理所有的require语句,以创建一个可以作为独立程序运行的文件 一些可能有用(或有害?)的事情: 包含不在函数中的代码的唯一文件是主文件。因此,只有主文件才会有在解析文件后立即运行
require
语句,以创建一个可以作为独立程序运行的文件
一些可能有用(或有害?)的事情:
- 包含不在函数中的代码的唯一文件是主文件。因此,只有主文件才会有在解析文件后立即运行的代码
- I
在每个文件的开头(在初始注释之后)立即列出所有需要的文件,因此require
语句都位于文件的顶部,所有依赖项都列在每个文件的开头require
- 我对每个文件所需的所有文件调用
,无论天气如何,这些文件可能已经包含在内require
-->
...
build.rb[主文件]-->BuildSystem.rb
Utilities.rb
BuildSystem.rb-->Project.rb
YamlFile.rb
XmlFile.rb
Utilities.rb
Project.rb-->YamlFile.rb
XmlFile.rb
Utilities.rb
我要寻找的是一种能让我将所有5个文件合并成一个构建
文件的东西,只需将其放在正确的位置即可安装。任何帮助都会很好,谢谢
包含不在函数中的代码的唯一文件是主文件。因此,只有主文件才会有在解析文件后立即运行的代码
因此,您可以从shell(假设使用OS X/*nix系统)简单地运行以下操作:
您可以将其放入shell脚本中,以便在每次进行更改时“构建”输出文件
使用此方法,您将在整个输出main.rb
文件中散布require
语句,但由于它们是幂等的,因此不会产生任何负面影响
<filename> --> <include1>
<include2>
...
build.rb [the main file] --> BuildSystem.rb
Utilities.rb
BuildSystem.rb --> Project.rb
YamlFile.rb
XmlFile.rb
Utilities.rb
Project.rb --> YamlFile.rb
XmlFile.rb
Utilities.rb
touch main.rb
cat Utilities.rb >> main.rb
cat XmlFile.rb >> main.rb
cat YamlFile.rb >> main.rb
cat Project.rb >> main.rb
cat BuildSystem.rb >> main.rb
cat build.rb >> main.rb # must be appended last