ruby yaml 表示数组

Posted by wxianfeng Tue, 01 Mar 2011 00:24:00 GMT

yaml 的语法真是变态 , 表示个数组这么麻烦, 更复杂的数据结构 那不是更麻烦 !!!

yaml 文件:

# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html

one:
  name: MyString
  orgunit_id: 1
  inheritable: false
 # codes 是yaml数组表示方法
 # 缩进只能是两个空格为一级,不能是其他字符
  codes: 
    - 1
    - a
    - 2
    - b
    - 3
    - c

ruby 解析yaml:

ruby-1.9.2-p0 >   file =  "#{Rails.root}/test/fixtures/enumerations.yml"
 => "/usr/local/system/projects/entos/ent_os/test/fixtures/enumerations.yml" 
ruby-1.9.2-p0 > YAML.load File.read(file) 
 => {"one"=>{"name"=>"MyString", "orgunit_id"=>1, "inheritable"=>false, "codes"=>[1, "a", 2, "b", 3, "c"]}} 

不知道怎么写的可以 使用 to_yaml 方法 看一下:

irb(main):001:0> 
=> {"one"=>{"name"=>"MyString", "inheritable"=>false, "orgunit_id"=>1, "codes"=>[1, "a", 2, "b", 3, "c"]}}
irb(main):002:0> require "yaml"
=> true
irb(main):003:0> hsh.to_yaml
=> "--- \none: \n  name: MyString\n  inheritable: false\n  orgunit_id: 1\n  codes: \n  - 1\n  - a\n  - 2\n  - b\n  - 3\n  - c\n"

可读性 更好的 使用 y 方法

ruby-1.9.2-p0 > y hsh
--- 
one: 
  name: MyString
  orgunit_id: 1
  inheritable: false
  codes: 
  - 1
  - a
  - 2
  - b
  - 3
  - c
 => nil 

This entry was posted on Tue, 01 Mar 2011 00:24:00 GMT and Posted in . You can follow any any response to this entry through the Atom feed. You can leave a comment or a trackback from your own site.

Tags ,


Trackbacks

Use the following link to trackback from your own site:
http://wxianfeng.com/trackbacks?article_id=182

Comments

  1. Avatar
    Bari - Patras over {{count}} years ago:

    Hiya very cool site!! Man .. Beautiful .. Wonderful ..
    I’ll bookmark your site and take the feeds additionally?
    I am sqtisfied to search out a lot of helpful info here within the post, we want
    develop more strategies on this regard, thanks for sharing.
    . . . . .

  2. Avatar
    Bari - Patras over {{count}} years ago:

    Hiya very cool site!! Man .. Beautiful .. Wonderful ..
    I’ll bookmark your site and take the feeds additionally?
    I amm satisfied to search out a lot of helpful info
    here within the post, we want develop moree strategies on this regard, thanks for
    sharing. . . . . .

  3. Avatar
    Bari - Patras over {{count}} years ago:

    Hi there everyone, it’s my first visit at this weeb site,
    and piece of writing iss really fruitful in suhpport of me,
    keep uup posting these types of posts.

  4. Avatar
    Bari - Patras over {{count}} years ago:

    Hi there everyone, it’s my first visit at this web
    site, and piiece of writing is really fruitful in supprt of me,
    keep up posting these types of posts.

Leave a comment