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)| ...} -> object
new(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 -> bool
flags=(val)
-
執筆者募集。 クラス変数にflags に対する参照、代入をおこなうためのメソッドです。
predicates -> String
predicates=(val)
-
執筆者募集。 クラス変数にpredicates に対する参照、代入をおこなうためのメソッドです。
segments -> String
segments=(val)
-
執筆者募集。 クラス変数にsegments に対する参照、代入をおこなうためのメソッドです。