Ruby:
Werken met YAML
Hoe te:
Om met YAML in Ruby te werken heb je de yaml
bibliotheek nodig. Het maakt deel uit van de standaardbibliotheek van Ruby, dus je hoeft het alleen maar te vereisen:
require 'yaml'
Om een Ruby hash naar een YAML-string te dumpen:
require 'yaml'
my_hash = { name: 'Sam', occupation: 'Ontwikkelaar', hobbies: ['coderen', 'schaken'] }
yaml_string = my_hash.to_yaml
puts yaml_string
De uitvoer zal een YAML-geformatteerde string zijn:
---
:name: Sam
:occupation: Ontwikkelaar
:hobbies:
- coderen
- schaken
Om een YAML-string in Ruby te laden:
require 'yaml'
yaml_string = "
name: Sam
occupation: Ontwikkelaar
hobbies:
- coderen
- schaken
"
ruby_hash = YAML.load(yaml_string)
puts ruby_hash
De uitvoer is een Ruby-hash:
{name: 'Sam', occupation: 'Ontwikkelaar', hobbies: ['coderen', 'schaken']}
Diepteduik
YAML dook op in de vroege jaren 2000 als een mensvriendelijk alternatief voor XML voor configuratiebestanden en gegevensserialisatie. Het ontwerp maakt eenvoudige toewijzing naar inheemse gegevensstructuren mogelijk in veel talen, met implementaties in Python, Ruby, Java, PHP, en anderen.
Alternatieven voor YAML zijn JSON en TOML. JSON is gebruikelijker voor web-API’s vanwege de directe compatibiliteit met JavaScript. TOML streeft ernaar leesbaarder te zijn als een configuratiebestand en biedt een vergelijkbare functieset als YAML.
In Ruby wordt YAML geïmplementeerd door de Psych-bibliotheek, die sinds Ruby 1.9.3 de standaard YAML-parser is geweest. Psych werkt samen met libyaml, een C-bibliotheek voor YAML-parsing en -emitting.