Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > yamlライブラリ
構造化されたデータを表現するフォーマットであるYAML (YAML Ain't Markup Language) を扱うためのライブラリです。
例1: 構造化された配列
require 'yaml' data = [ "Taro san", "Jiro san", "Saburo san"] str_r = YAML.dump(data) str_l =<<EOT --- - Taro san - Jiro san - Saburo san EOT p str_r == str_l #=> true
例2:構造化されたハッシュ
require 'yaml' require 'date' str_l =<<YAML_EOT Tanaka Taro: { age: 35, birthday: 1970-01-01} Suzuki Suneo: { age: 13, birthday: 1992-12-21 } YAML_EOT str_r = {} str_r["Tanaka Taro"] = { "age" => 35, "birthday" => Date.new(1970, 1, 1) } str_r["Suzuki Suneo"] = { "age" => 13, "birthday" => Date.new(1992, 12, 21) } p str_r == YAML.load(str_l) #=> true
例3:構造化されたログ
require 'yaml' require 'stringio' strio_r = StringIO.new(<<EOT --- time: 2008-02-25 17:03:12 +09:00 target: YAML version: 4 log: | 例を加えた。 アブストラクトを修正した。 --- time: 2008-02-24 17:00:35 +09:00 target: YAML version: 3 log: | アブストラクトを書いた。 EOT ) YAML.load_stream(strio_r).documents.sort{|a, b| a["version"] <=> b["version"]}.each{|obj| printf "version %d\ntime %s\ntarget:%s\n%s\n", obj["version"], obj["time"], obj["target"], obj["log"] }
module YAML | YAML (YAML Ain't Markup Language) を扱うモジュールです。 |
module YAML::BaseNode | |
class YAML::Stream | YAMLドキュメントを複数保持することができるストリームクラスです。 |
class YAML::YPath | YAML ドキュメントから特定のデータを検索する機能を提供するYPathのクラスです。 |
class YAML::YamlNode |
class YAML::Error | 意図しない入力がメソッドに与えられた時などに発生します。 |
class YAML::ParseError | 将来のために予約されています。現在は発生しません。 |
class YAML::TypeError | 意図しない入力がメソッドに与えられた時などに発生します。 |
yaml/store | RubyのオブジェクトをYAML形式の外部ファイルに格納するためのクラスです。 |
Class#to_yaml
Kernel#y
Object#to_yaml
Object#to_yaml_properties
Object#to_yaml_style
String#is_binary_data?
String#is_complex_yaml?
Struct.yaml_tag_class_name
Struct.yaml_tag_read_class