解析特定项目的序列列表,并使用ruby将其映射到yaml中的键

时间:2016-11-07 16:38:38

标签: ruby yaml

需要编写一个ruby脚本,它将根据给脚本的参数解析yaml文件。

下面是类似于yaml文件的示例:

server01:
  - mail
  - dhcp
  - dns 
server02:
  - mail
  - dhcp

希望能够像这样运行脚本,。/ test.rb -s mail

让它返回在序列列表中有邮件的服务器列表

这可能吗?

1 个答案:

答案 0 :(得分:1)

只需用正确的参数替换'mail'即可。我猜是ARGV[1]之类的东西?

require 'yaml'
h = YAML.load_file('config.yaml')
h.select { |k, v| v.include?('mail') }.keys
# => should return ["server01","server02"]