4件ヒット
[1-4件を表示]
(0.017秒)
検索結果
先頭4件
-
Psych
. safe _ load(yaml , whitelist _ classes = [] , whitelist _ symbols = [] , aliases = false , filename = nil) -> object (307.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 に変換して返しま... -
Object
. yaml _ tag(tag) -> () (61.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
:: Visitors (55.0) -
Psych 内部で利用する各種 Visitor class を保持しているモジュール。
...Psych 内部で利用する各種 Visitor class を保持しているモジュール。... -
Psych
:: Parser (25.0) -
YAML のパーサ。
...ュメントを
別のフォーマット変換したりします。
Psych::Emitter を使うとパースしたドキュメントを元通りに出力
することもできます。
Psych::Parser が生成するイベントは Psych::Handler
を見てください。
以下の例では YAML ドキ......or detecting scalar values
class ScalarHandler < Psych::Handler
def scalar value, anchor, tag, plain, quoted, style
puts value
end
end
parser = Psych::Parser.new(ScalarHandler.new)
parser.parse(yaml_document)
次の例は Psych::Emitter にパースの結果を戻していま......力をパース→YAMLフォーマットで STDERR に出力
という流れになっています。
parser = Psych::Parser.new(Psych::Emitter.new($stderr))
parser.parse($stdin)
Psych::Parser と Psych::TreeBuilder を組み合わせると
YAML の AST を構築することができます。...