RubyでYAMLを使う
設定ファイルでよく変更のあるデータを外出しにしておきたいことがあります。PerlではYAMLを使ってたのでRubyでも使用できないかと検索したら、なんと標準で使えることがわかりました。
今回はRubyでYAMLを使う方法です。
YAML(ヤムル)とは?
- テキストプレーンで記載できるのでXMLより楽に記載できる(タグとかを記載しなくてよい)
- データを「配列」、「ハッシュ」、「スカラー」を記載するとオブジェクトに変換してくれる
- 設定ファイル、ログファイル等に使うと便利
簡単なサンプル(例:設定ファイル)
- 配列
- item1 - item2 - item3
- ハッシュ
name: Taro age: 28 email: test@test.testRubyで使用したサンプルソース
- オブジェクトをYAMLフォーマットでダンプする(Ruby → テキスト)
#!/usr/bin/ruby -Ks
require 'yaml'
$KCODE = 's'
hash = {"name" => "Taro", "age" => 28, "email" => ["test1@test.test", "test2@test.test"] }
# YAMLフォーマットでダンプする
puts YAML.dump(hash)
# 実行結果 > ruby main.rb --- name: Taro age: 28 email: - test1@test.test - test2@test.test
- YAML形式の設定ファイルをRubyで取り込む
# config.yamlファイル name: Taro age: 28 email: - test1@test.test - test2@test.test
#!/usr/bin/ruby -Ks
require 'pp'
require 'yaml'
$KCODE = 's'
# YAMLフォーマットでダンプする
config = YAML.load_file("config.yaml")
pp config
# 実行結果
> ruby main.rb
{"name" => "Taro",
"age" => 28,
"email" => ["test1@test.test", "test2@test.test"] }
配列やハッシュもテキストファイルにかけるので便利ですね。
今後は、設定ファイルをYAMLを積極的に使っていくと思います。
【参考サイト】
トラックバック(0)
このブログ記事に対するトラックバックURL(トラックバックは承認後に公開されます)


トラックバックありがとうございました。他の記事も読ませていただきました。興味の範囲が重なっていてためになりました。ブックマークさせていただきました。