gpt4 book ai didi

ruby - 使用参数与 ruby​​ require

转载 作者:数据小太阳 更新时间:2023-10-29 07:10:09 25 4
gpt4 key购买 nike

是否可以要求带有参数的文件?

例如

resource.rb 有

mode = ARGV.first

if mode == "prod"
#use prod db
else
#use test db
end

并且 main.rb 需要它带有类似 params 的东西

require_relative './resource.rb prod'

如果这不可能或不好的做法,请告诉我。我想我可以使用版本控制在测试和生产之间切换,但它似乎有点迟钝。

(prod 和 test 仅用于区分。这是一个非常轻量级的项目,如果它有任何区别就不是商业的:))

感谢在 Windows XP 上使用 Ruby 1.9.3。

令我惊讶的是,目前还没有任何答案。只有关于使用 gems 和使用带参数的 ruby​​ 的内容,但不能同时使用。

最佳答案

你不能通过要求来做到这一点,但你可以设置一个环境变量:

main.rb中:

ENV["mode"] = ARGV.first
require_relative './resource'

./resource.rb中:

mode = ENV.fetch("mode")

if mode == "prod"
#use prod db
else
#use test db
end

使用环境变量进行配置的好处是您可以在多个文件中拥有相同的逻辑。这就是 Heroku 的做事方式。

参见 Heroku's 12 factor app .

关于ruby - 使用参数与 ruby​​ require,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14051547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com