Ruby:
Работа с YAML

Как:

Чтобы работать с YAML в Ruby, вам нужна библиотека yaml. Она является частью стандартной библиотеки Ruby, так что просто подключите ее:

require 'yaml'

Чтобы преобразовать хэш Ruby в строку YAML:

require 'yaml'

my_hash = { name: 'Sam', occupation: 'Developer', hobbies: ['coding', 'chess'] }

yaml_string = my_hash.to_yaml
puts yaml_string

Вывод будет строкой в формате YAML:

---
:name: Sam
:occupation: Developer
:hobbies:
- coding
- chess

Чтобы загрузить строку YAML в Ruby:

require 'yaml'

yaml_string = "
name: Sam
occupation: Developer
hobbies:
  - coding
  - chess
"

ruby_hash = YAML.load(yaml_string)
puts ruby_hash

Вывод - это хэш Ruby:

{name: 'Sam', occupation: 'Developer', hobbies: ['coding', 'chess']}

Подробный анализ

YAML появился в начале 2000-х как удобная для человека альтернатива XML для файлов конфигурации и сериализации данных. Его дизайн позволяет легко сопоставлять с нативными структурами данных во многих языках, имея реализации в Python, Ruby, Java, PHP и других.

Альтернативами YAML являются JSON и TOML. JSON более распространен для веб-API из-за его непосредственной совместимости с JavaScript. TOML стремится быть более читаемым как файл конфигурации, предлагая набор функций, аналогичный YAML.

В Ruby YAML реализован с помощью библиотеки Psych, которая является стандартным парсером YAML, начиная с Ruby 1.9.3. Psych взаимодействует с libyaml, библиотекой на C для разбора и генерации YAML.

Смотрите также