るりまサーチ (Ruby 2.5.0)

最速Rubyリファレンスマニュアル検索!
9件ヒット [1-9件を表示] (0.011秒)

別のキーワード

  1. psych load_stream
  2. psych safe_load
  3. irb/cmd/load execute
  4. json load
  5. psych load

クラス

モジュール

キーワード

検索結果

Psych.load(yaml, filename = nil, fallback: false, symbolize_names: false) -> object (54400.0)

YAML ドキュメントを Ruby のデータ構造(オブジェクト)に変換します。

...に発生した例外のメッセージに用います。


@param yaml YAML ドキュメント(文字列 or IO オブジェクト)
@param filename Psych::SyntaxError 発生時にファイル名として表示する文字列。
@param fallback 引数 yaml に空のYAMLを指定した場合の戻り...
...
@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::SyntaxEr...
...ード引数 symbolize_names に true を指定した場合はハッシュのキー
を Symbol に変換して返します。

//emlist[例][ruby]{
Psych
.load("---\n foo: bar") # => {"foo"=>"bar"}
Psych
.load("---\n foo: bar", symbolize_names: true) # => {:foo=>"bar"}
//}...

Psych.safe_load(yaml, whitelist_classes = [], whitelist_symbols = [], aliases = false, filename = nil, symbolize_names: false) -> object (18400.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...
...
Psych
::BadAlias 例外が発生します。

filename はパース中に発生した例外のメッセージに用います。

キーワード引数 symbolize_names に true を指定した場合はハッシュのキー
を Symbol に変換して返します。

//emlist[例][ruby]{
Psych
.safe_...

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...