unsafe_load(yaml, filename: nil, fallback: false, symbolize_names: false, freeze: false) -> 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 を指定すると再帰的に freeze されたオブジェクトを返します
- [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]