前提・実現したいこと
yamlデータをハッシュとして読み込み、キーで値を取得したいです。
発生している問題・エラーメッセージ
yamlデータを読み込むと配列として取得してしまっているため、キーで値を取得できず「no implicit conversion of String into Integer」が表示されてしまいます。
Ruby
1 require 'yaml' 2 yaml = YAML.load_file("./config/pwd.yml") 3 4 logger.debug(yaml) # [{27=>"\xFD\x18\xFD・・・"}, {28=>"<\xEE9\xBF\xB7・・・"},・・・}] ※配列になってしまう 5 logger.debug(yaml["28"]) # no implicit conversion of String into Integer
Ruby
1#hashデータ 2--- 3- 27: !binary |- 4 /Rj9APYPXa49U9GozrFWe61YIhxizw/e8XbAhXzF9Qo= 5- 28: !binary |- 6 PO45v7cG6ZNolXikftTXeTgO27m0JC9I4boaUSzduZs= 7- 29: !binary |- 8 KI8spOech9iEFOYsjhU9RCdiHGh3bHu1FyrOYmD9bA8= 9
やってみたこと(追記)
自分なりにいろいろなサイトを検索したのですが、普通にハッシュで取得できると記載があったのですが、実行してもできなかったので、質問させていただきました。
https://permanent-til-me.ssl-netowl.jp/archives/1681
Ruby
1#YAML.load_fileメソッドは、YAMLファイルをハッシュとして読み込むことができます。 2yaml = YAML.load_file('./sample.yml') 3puts yml # => {"fuga"=>{"foo"=>1, "bar"=>"Hello", "baz"=>["Ruby", "Python"]}} 4puts yml['fuga']['bar'] #=> Hello
回答2件
あなたの回答
tips
プレビュー