gpt4 book ai didi

ruby - 如何使用 Ruby 存储和调用 YAML 文件中的数据?

转载 作者:太空宇宙 更新时间:2023-11-03 17:51:46 28 4
gpt4 key购买 nike

我正在使用 Cucumber 和 Capybara 编写功能和步骤定义,我想将用户凭据存储在 YAML 文件中。

我的问题是,如果我的 support/config.yml 中有一个 cred.yml 文件,并且我将该文件加载到我的 env.rb (CONFIG = YAML.load_file("/config/config.yml")),是否可以访问所有信息?例如,如果是这样,我将如何从 env_1 访问/调用 user1?

或者如果我只想一次加载一个/多个选择环境,我该怎么做?我将如何访问/调用不同的用户?

是这样的:CONFIG = YAML.load_file("/config/config.yml")[ENV]?

config.yml 文件内容:

env_1:

 `user1: admin`
`password1: password`
`user2: teacher`
`password2: password`

env_2:

 `user: student`
`password: password`
`user2: assistant`
`password2: password`

最佳答案

YAML::load_file 返回嵌套哈希:

require 'yaml'
config = YAML.load_file("config.yml") #=> {"env_1"=>{"user1"=>"admin", "password1"=>"password", "user2"=>"teacher", "password2"=>"password"}, "env_2"=>{"user"=>"student", "password"=>"password", "user2"=>"assistant", "password2"=>"password"}}

您可以通过以下方式访问 env_1:

config["env_1"] #=> {"user1"=>"admin", "password1"=>"password", "user2"=>"teacher", "password2"=>"password"}

及其值:

config["env_1"]["user1"] #=> "admin"
config["env_1"]["user2"] #=> "teacher"

访问 env_2 相应地工作:

config["env_2"]["user"]  #=> "student"

假设您的 config.yml 如下所示:

env_1:
user1: admin
password1: password
user2: teacher
password2: password
env_2:
user: student
password: password
user2: assistant
password2: password

关于ruby - 如何使用 Ruby 存储和调用 YAML 文件中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23682817/

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