Chinaunix

标题: ruby如何创建hash的hash [打印本页]

作者: royalzhang    时间: 2013-02-20 16:35
标题: ruby如何创建hash的hash
本帖最后由 royalzhang 于 2013-02-20 16:35 编辑

比如
  1. :a => { :x => 'value' }
复制代码
谢谢!
作者: zuerrong    时间: 2013-02-21 19:31
本帖最后由 zuerrong 于 2013-02-21 19:31 编辑
royalzhang 发表于 2013-02-20 16:35
比如谢谢!


almost the same as perl:

irb(main):008:0> {:x=>{:y=>"z"}}
=> {:x=>{:y=>"z"}}
作者: royalzhang    时间: 2013-02-26 16:44
zuerrong 发表于 2013-02-21 19:31
almost the same as perl:

irb(main):008:0> {=>{:y=>"z"}}

谢谢,这样是可以。但是下面的不行:
  1. my_hash = Hash.new
  2. my_hash[:a][:y] = 'z'  # error
复制代码
我的笨办法是:
  1. my_hash = Hash.new
  2. my_hash[:a] = Hash.new
  3. my_hash[:a][:y] = 'z'  # ok
复制代码
但是笨办法的缺点是,保证my_hash[:a]不存在才能new,否则就覆盖了原来的内容。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2