種類
- 特異メソッド (9)
- インスタンスメソッド (1)
- モジュール (1)
クラス
- Object (1)
-
Psych
:: SyntaxError (1)
モジュール
- Psych (8)
キーワード
- Nodes (1)
- file (1)
-
load
_ documents (2) -
load
_ file (1) -
load
_ stream (2) - parse (1)
-
safe
_ load (1) -
yaml
_ tag (1)
検索結果
先頭5件
- Psych
. load(yaml , filename = nil , fallback = false) -> object - Psych
. safe _ load(yaml , whitelist _ classes = [] , whitelist _ symbols = [] , aliases = false , filename = nil) -> object - Psych
. load _ documents(yaml) -> [object] - Psych
. load _ documents(yaml) {|obj| . . . } -> () - Psych
. load _ stream(yaml , filename=nil) -> [object]
-
Psych
. load(yaml , filename = nil , fallback = false) -> object (54364.0) -
YAML ドキュメントを Ruby のデータ構造(オブジェクト)に変換します。
...IO オブジェクト)
@param filename Psych::SyntaxError 発生時にファイル名として表示する文字列。
@param fallback 引数 yaml に空のYAMLを指定した場合の戻り値を指定します。デフォルトは false です。
@raise Psych::SyntaxError YAMLドキュメント......文法エラーが発見されたときに発生します
@see Psych.parse
//emlist[例][ruby]{
Psych.load("--- a") # => 'a'
Psych.load("---\n - a\n - b") # => ['a', 'b']
begin
Psych.load("--- `", "file.txt")
rescue Psych::SyntaxError => ex
p ex.file # => 'file.txt'
p ex.message... -
Psych
. safe _ load(yaml , whitelist _ classes = [] , whitelist _ symbols = [] , aliases = false , filename = nil) -> object (18364.0) -
安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
...[ruby]{
Psych.safe_load(yaml, [Date])
//}
すると上のクラス一覧に加えて Date クラスが読み込まれます。
エイリアスは aliases パラメーターを変更することで明示的に許可できます。
//emlist[例][ruby]{
x = []
x << x
yaml = Psych.dump x
Psych.safe_l......oad yaml # => 例外発生
Psych.safe_load yaml, [], [], true # => エイリアスが読み込まれる
//}
yaml にホワイトリストにないクラスが含まれていた場合は、
Psych::DisallowedClass 例外が発生します。
yaml がエイリアスを含んでいて al......iases パラメーターが false の時、
Psych::BadAlias 例外が発生します。
filename はパース中に発生した例外のメッセージに用います。
キーワード引数 symbolize_names に true を指定した場合はハッシュのキー
を Symbol に変換して返しま... -
Psych
. load _ documents(yaml) -> [object] (18361.0) -
複数の YAML ドキュメントを含むデータを Ruby のオブジェクトに変換します。 このメソッドは deprecated です。Psych.load_stream を代わりに 使ってください。
...ジェクトに変換します。
このメソッドは deprecated です。Psych.load_stream を代わりに
使ってください。
@param yaml YAML ドキュメント(文字列 or IO オブジェクト)
@raise Psych::SyntaxError YAMLドキュメントに文法エラーが発見されたとき... -
Psych
. load _ documents(yaml) {|obj| . . . } -> () (18361.0) -
複数の YAML ドキュメントを含むデータを Ruby のオブジェクトに変換します。 このメソッドは deprecated です。Psych.load_stream を代わりに 使ってください。
...ジェクトに変換します。
このメソッドは deprecated です。Psych.load_stream を代わりに
使ってください。
@param yaml YAML ドキュメント(文字列 or IO オブジェクト)
@raise Psych::SyntaxError YAMLドキュメントに文法エラーが発見されたとき... -
Psych
. load _ stream(yaml , filename=nil) -> [object] (18349.0) -
複数の YAML ドキュメントを含むデータを Ruby のオブジェクトに変換します。
...を返します。
//emlist[例][ruby]{
Psych.load_stream("--- foo\n...\n--- bar\n...") # => ['foo', 'bar']
//}
ブロックありの場合は各オブジェクト引数としてそのブロックを呼び出します。
//emlist[例][ruby]{
list = []
Psych.load_stream("--- foo\n...\n--- bar\n.........に用います。
@param yaml YAML ドキュメント(文字列 or IO オブジェクト)
@param filename Psych::SyntaxError 発生時にファイル名として表示する文字列。
@raise Psych::SyntaxError YAMLドキュメントに文法エラーが発見されたときに発生します... -
Psych
. load _ stream(yaml , filename=nil) {|obj| . . . } -> () (18349.0) -
複数の YAML ドキュメントを含むデータを Ruby のオブジェクトに変換します。
...を返します。
//emlist[例][ruby]{
Psych.load_stream("--- foo\n...\n--- bar\n...") # => ['foo', 'bar']
//}
ブロックありの場合は各オブジェクト引数としてそのブロックを呼び出します。
//emlist[例][ruby]{
list = []
Psych.load_stream("--- foo\n...\n--- bar\n.........に用います。
@param yaml YAML ドキュメント(文字列 or IO オブジェクト)
@param filename Psych::SyntaxError 発生時にファイル名として表示する文字列。
@raise Psych::SyntaxError YAMLドキュメントに文法エラーが発見されたときに発生します... -
Psych
. load _ file(filename) -> object (18310.0) -
filename で指定したファイルを YAML ドキュメントとして Ruby のオブジェクトに変換します。
...filename で指定したファイルを YAML ドキュメントとして
Ruby のオブジェクトに変換します。
@param filename ファイル名
@raise Psych::SyntaxError YAMLドキュメントに文法エラーが発見されたときに発生します... -
Psych
:: SyntaxError # file -> String|nil (43.0) -
エラーが生じたファイルの名前を返します。
...エラーが生じたファイルの名前を返します。
Psych.load_file で指定したファイルの名前や
Psych.load の第2引数で指定した名前が返されます。
パース時にファイル名を指定しなかった場合は nil が返されます。... -
Object
. yaml _ tag(tag) -> () (25.0) -
クラスと tag の間を関連付けます。
...g 対象のクラスに関連付けるタグの文字列
=== Example
require 'psych'
class Foo
def initialize(x)
@x = x
end
attr_reader :x
end
# Dumps Ruby object normally
p Psych.dump(Foo.new(3))
# =>
# --- !ruby/object:Foo
# x: 3
# Registers tag......yaml_as("tag:example.com,2013:foo")
# ... and dumps the object of Foo class
Psych.dump(Foo.new(3), STDOUT)
# =>
# --- !<tag:example.com,2013:foo>
# x: 3
# Loads the object from the tagged YAML node
p Psych.load(<<EOS)
--- !<tag:example.com,2012:foo>
x: 8
EOS
# => #<Foo:0x00... -
Psych
. parse(yaml , filename = nil) -> Psych :: Nodes :: Document (25.0) -
YAML ドキュメントをパースし、YAML の AST を返します。
...用います。
AST については Psych::Nodes を参照してください。
@param yaml YAML ドキュメント(文字列 or IO オブジェクト)
@param filename Psych::SyntaxError 発生時にファイル名として表示する文字列。
@raise Psych::SyntaxError YAMLドキュメント......に文法エラーが発見されたときに発生します
@see Psych.load
//emlist[例][ruby]{
Psych.parse("---\n - a\n - b") # => #<Psych::Nodes::Document:...>
begin
Psych.parse("--- `", "file.txt")
rescue Psych::SyntaxError => ex
p ex.file # => 'file.txt'
p ex.message # => "(file.txt... -
Psych
:: Nodes (25.0) -
Psych が中間データとして利用している AST (Abstract Syntax Tree) に 関するモジュール。
...Psych が中間データとして利用している AST (Abstract Syntax Tree) に
関するモジュール。
Psych.load によって YAML ドキュメントを Ruby オブジェクトに変換
するときには、一度中間的な AST に変換され、その AST が Ruby の
オブジェクト......。
逆向き、つまり Psych.dump で Ruby のオブジェクトを
YAML ドキュメントに変換するときには、中間的な AST に変換してから
それを YAML ドキュメントに変換します。
YAML AST の各ノードのクラスはすべて Psych::Nodes の下にありま......を1つ持つリストの AST を構築しています。
# Create our nodes
stream = Psych::Nodes::Stream.new
doc = Psych::Nodes::Document.new
seq = Psych::Nodes::Sequence.new
scalar = Psych::Nodes::Scalar.new('foo')
# Build up our tree
stream.children << doc
doc.children...