您如何在下一个哈希值中使用 'just-defined' 哈希值
How do you use a 'just-defined' hash value in your next hash value
如果我正在创建哈希:
h = {
a: 5,
b: a + 1
}
如何使用 a
的值在 ruby 语法中定义 b
的值?
一种方法是使用临时变量:
h = {
a: x = 5,
b: x + 1
}
这个怎么样:
h = {a: 5}.tap{|h| h[:b] = h[:a] + 1}
# => {:a=>5, :b=>6}
我会用老式的方式来做,而不用任何可爱的技巧:
h = {}
h[:a] = 5
h[:b] = h[:a] + 1
puts h #=> {:a => 5, :b => 6}
如果我正在创建哈希:
h = {
a: 5,
b: a + 1
}
如何使用 a
的值在 ruby 语法中定义 b
的值?
一种方法是使用临时变量:
h = {
a: x = 5,
b: x + 1
}
这个怎么样:
h = {a: 5}.tap{|h| h[:b] = h[:a] + 1}
# => {:a=>5, :b=>6}
我会用老式的方式来做,而不用任何可爱的技巧:
h = {}
h[:a] = 5
h[:b] = h[:a] + 1
puts h #=> {:a => 5, :b => 6}