1

我希望将运行时参数传递给我的 Ruby 代码。我有 Java 背景,在大多数情况下,如果我想覆盖配置,我会使用具有合理默认值的系统属性。

例如,如果我针对 localhost 的 REST API 编写了一个测试,然后想要针对集成环境运行它并想要调整基本 URL:

$ rake -Cbaseurl=https://i-env.company.com/tbse/ test

Ruby中是否有系统属性的等价物?人们正在使用标准模式吗?

我知道如何使用/加载 YAML 配置,以及参考环境变量。

4

1 回答 1

1

Ruby 来自 UNIX 世界,这里是命令行参数和环境变量。

命令行参数应用于通常更改且依赖于运行的内容。这些是诸如详细标志、输出文件或目标 URL 之类的东西。使用 Ruby stdlib OptionParser 访问这些。

环境变量适用于更改频率较低的事物,并且通常跨应用程序。诸如系统可执行路径($PATH)之类的东西。使用内置的 Rubyenv对象来访问这些。

对于其他事情,例如配置,请使用配置文件。在 Ruby 中,这些通常采用 YAML 格式。为这些使用 Ruby stdlibyaml库。

于 2013-02-14T22:57:45.607 回答