Closed
Description
Hey there 👋
I'm trying to wrap my head around booleans and YAML. We encountered the issue, when we tried to parse a YAML back generated by YAML.dump()
.
Environment: Ruby 2.7.0p0,
Example:
{"n" => "y"}.to_yaml
generates
---
n: y
When we parse this e.g. using https://github.com/go-yaml/yaml it parses as (written as Ruby):
{ false => true }
When I look at https://yaml.org/type/bool.html, I would assume that the expected generated YAML should be more like this a String rendered:
---
'n': 'y'
Am I missing something?
Some more experiments, in case that's any help, show that y
, Y
, n
and N
are not quoted as required:
# taken from https://yaml.org/type/bool.html
v = %w(y Y yes Yes YES n N no No NO true True TRUE false False FALSE on On ON off Off OFF)
v.each { |x| puts YAML.dump(x) }
# --- y
# --- Y
# --- 'yes'
# --- 'Yes'
# --- 'YES'
# --- n
# --- N
# --- 'no'
# --- 'No'
# --- 'NO'
# --- 'true'
# --- 'True'
# --- 'TRUE'
# --- 'false'
# --- 'False'
# --- 'FALSE'
# --- 'on'
# --- 'On'
# --- 'ON'
# --- 'off'
# --- 'Off'
# --- 'OFF'
Metadata
Metadata
Assignees
Labels
No labels