RubyでYAMLを使う

   ブックマークに追加する



設定ファイルでよく変更のあるデータを外出しにしておきたいことがあります。PerlではYAMLを使ってたのでRubyでも使用できないかと検索したら、なんと標準で使えることがわかりました。

今回はRubyでYAMLを使う方法です。

YAML(ヤムル)とは?
  • テキストプレーンで記載できるのでXMLより楽に記載できる(タグとかを記載しなくてよい)
  • データを「配列」、「ハッシュ」、「スカラー」を記載するとオブジェクトに変換してくれる
  • 設定ファイル、ログファイル等に使うと便利
YAML自体はPerlやPythonでももちろん使えます。YAMLの仕様については以下が参考になります。

簡単なサンプル(例:設定ファイル)
  • 配列
- item1
- item2
- item3
  • ハッシュ
name:  Taro
age: 28
email: test@test.test
Rubyで使用したサンプルソース

  • オブジェクトを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(トラックバックは承認後に公開されます)

コメント(1)

野村朝清 :

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

コメントする

このブログ記事について

このページは、Humが2008年2月 6日 01:07に書いたブログ記事です。

ひとつ前のブログ記事は「Rubyでクローラー作成(mechanize, hpricot)」です。

次のブログ記事は「Excelで英数字のみ半角に変換する方法」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

あわせて読みたいブログパーツ
フィードメーター - ウェブ-HACKS 「とりあえずやってみよう!」ブログ   
track feed
  • SEO対策 
  • _ 
  • _ 
  •  
  •  

このブログはクリエイティブ・コモンズでライセンスされています。