YAML symbols


#1

YAML writes out Ruby symbols as !ruby/sym, e.g. :name => ‘John’
becomes

!ruby/sym name: John

I write out megabytes of data, so I played with replacing !ruby/sym
with a simple colon:

:name: John

– and it gets loaded back just as the !ruby/sym version!

Is there a way to instruct YAML to dump plain colon ‘:’ instead of "!
ruby/sym "? Is reading back my version a guaranteed behavior?

Cheers,
Alexy


#2

Weird… which version of YAML are you using? It doesn’t generate !
ruby/sym for me:

$ ruby -v -r yaml -e ‘puts({:name => “John”, :yaml_version =>
YAML::VERSION}.to_yaml)’
ruby 1.8.4 (2005-12-24) [i486-linux]

:yaml_version: “0.60”
:name: John


#3

On Apr 19, 12:28 pm, eden li removed_email_address@domain.invalid wrote:

On Apr 19, 2:20 pm, braver removed_email_address@domain.invalid wrote:

– and it gets loaded back just as the !ruby/sym version!

Is there a way to instruct YAML to dump plain colon ‘:’ instead of "!
ruby/sym "? Is reading back my version a guaranteed behavior?

Cheers,
Alexy

Hi!
Same here! It is not placing ! in my case as well. As per the
YAML.rb documentation it should.