Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > yamlライブラリ > YAML::YPathクラス
class YAML::YPath
クラスの継承リスト: YAML::YPath < Object < Kernel < BasicObject
Abstract
YAML ドキュメントから特定のデータを検索する機能を提供するYPathのクラスです。
使用例;"name" を含むセグメントを表示する。
require 'yaml'
YAML.parse_documents(DATA){|doc|
doc.search('/*//name').each {|node|
YAML::YPath.each_path(node){|u|
p u.segments
}
}
}
__END__
cat:
- name: taro
age: 7
- name: jiro
age: 23
---
dog:
shiba:
- name: goro
age: 3
- name: rokuro
age: 1
# end of sample
参考
* Rubyist Magazinehttp://jp.rubyist.net/magazine/
- プログラマーのための YAML 入門 (探索編)http://jp.rubyist.net/magazine/?0013-YAML
特異メソッド
each_path(str) {|YPath.new(path)| ...} -> objectnew(str) -> YAML::YPath-
YAML::YPath オブジェクトを返します。
- [PARAM] str:
- YPath でパース可能なパスを文字列で指定します。
動作例
require 'yaml' str = "/ugo[:hoge]/0/name" p YAML::YPath.new(str) #=> #<YAML::YPath:0x3238cc @predicates=[":hoge", nil, nil], @segments=["ugo", "0", "name"], @flags=nil>
インスタンスメソッド
flags -> boolflags=(val)-
執筆者募集。 クラス変数にflags に対する参照、代入をおこなうためのメソッドです。
predicates -> Stringpredicates=(val)-
執筆者募集。 クラス変数にpredicates に対する参照、代入をおこなうためのメソッドです。
segments -> Stringsegments=(val)-
執筆者募集。 クラス変数にsegments に対する参照、代入をおこなうためのメソッドです。