Ruby 脚本:未定义的方法 `symbolize_keys' 加载 YAML 文件时出错

Bla*_*hop 2 ruby scripting yaml

我有一个用于 yaml 合并的 ruby​​ 脚本,如下所示

#!/usr/bin/env ruby

require 'yaml'

raise "wrong number of parameters" unless ARGV.length == 2

y1 = YAML.load_file(ARGV[0]).symbolize_keys
y2 = YAML.load_file(ARGV[1]).symbolize_keys
puts y1.merge!(y2).to_yaml
Run Code Online (Sandbox Code Playgroud)

当我执行它时:

./test.rb ./src/api/config/config1.yml ./src/api/config/config2.yml
Run Code Online (Sandbox Code Playgroud)

我有以下错误:

./test.rb:5:in `<main>': undefined method `symbolize_keys' for {"root"=>{"cloud.n2"=>{"accessKey"=>"I5VAJUYNR4AAKIZDH777"}}}:Hash (NoMethodError)
Run Code Online (Sandbox Code Playgroud)

And*_*eko 5

Hash#symbolize_keys方法来自activesupportgem (activesupport/lib/active_support/core_ext/hash/keys.rb)。

为了使用它,您需要将以下行添加到您的脚本中:

require "active_support"
Run Code Online (Sandbox Code Playgroud)