我需要一个红宝石哈希H与键:a,:b,:c,以便H [:b] = H [:a] + 1; H [:c] = H [:b] + 2等。红宝石散列与自引用元素/递归散列
如何在一行声明中定义这样的散列,如H = {:a => 1,:b => H [:a ] + 1,:c => H [:b] +2,...}?
我需要类似的DataMapper财产申报的内容:
属性:路径,文件路径
属性:的md5sum,字符串:默认=>拉姆达{| R,P |摘要:: MD5.hexdigest(r.path.read)}
其中:的md5sum默认值引用:path属性
做这件事的方式是: H = {}; H [:a] = 1; H [:b] = H [:a] + 1; H [:c] = H [:b] + 2;等 我只是想知道是否散列H(其元素引用一些其他元素相同的散列)的声明和初始化可以在一行完成 - 所有在同一时间在一个地方。 – alpinweis 2009-12-07 18:45:34
也许如果你发布了一个真实的例子,它会更清晰。 :a,:b,+1等。可能不是你在这里做的! – 2009-12-07 20:23:36