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.