unsafe_load(yaml, filename: nil, fallback: false, symbolize_names: false, freeze: false, strict_integer: false, parse_symbols: true) -> objectRuby 3.1 から[permalink][rdoc][edit]-
YAML ドキュメント
yamlを Ruby のデータ構造(オブジェクト)に変換します。Psych.load と異なりクラスの制限を行わず、任意の Ruby オブジェクトに変換します。外部から与えられた信頼できない YAML ドキュメントの変換には使わないでください。信頼できないドキュメントには Psych.safe_load を使ってください。
入力に複数のドキュメントが含まれている場合は、先頭のものを変換して返します。
yamlが空の場合はfallbackで指定した値(デフォルトは false)を返します。filenameはパース中に発生した例外のメッセージに用います。キーワード引数
symbolize_namesに true を指定した場合はハッシュのキーを Symbol に変換して返します。キーワード引数
freezeに true を指定した場合は再帰的に Object#freeze したオブジェクトを返します。- [PARAM]
yaml: - YAML ドキュメント(文字列 or IO オブジェクト)
- [PARAM]
filename: - Psych::SyntaxError 発生時にファイル名として表示する文字列
- [PARAM]
fallback: -
引数
yamlに空の YAML を指定した場合の戻り値。デフォルトは false です - [PARAM]
symbolize_names: - ハッシュのキーを Symbol に変換するかどうか
- [PARAM]
freeze: - true を指定すると再帰的に Object#freeze されたオブジェクトを返します
- [PARAM]
strict_integer: - true を指定すると、"1,000" のようなカンマを含む数値を Integer に変換せず、文字列として返します。デフォルトは false です。
- [PARAM]
parse_symbols: - false を指定すると、":foo" のような文字列を Symbol に変換せず、文字列として返します。デフォルトは true です。
- [EXCEPTION]
Psych::SyntaxError: - YAML ドキュメントに文法エラーが発見されたときに発生します
- [EXCEPTION]
TypeError: -
yamlに nil を指定したときに発生します
[SEE_ALSO] Psych.load, Psych.safe_load
例require 'psych' p Psych.unsafe_load("--- a") # => 'a' p Psych.unsafe_load("---\n - a\n - b") # => ['a', 'b'] - [PARAM]