如果我正在创建哈希:
h = {
a: 5,
b: a + 1
}
如何使用a
的值在ruby语法中为b
定义值?
答案 0 :(得分:5)
一种方法是使用临时变量:
h = {
a: x = 5,
b: x + 1
}
答案 1 :(得分:2)
这个怎么样:
h = {a: 5}.tap{|h| h[:b] = h[:a] + 1}
# => {:a=>5, :b=>6}
答案 2 :(得分:1)
我会以老式的方式做到这一点而不诉诸任何可爱的技巧:
h = {}
h[:a] = 5
h[:b] = h[:a] + 1
puts h #=> {:a => 5, :b => 6}