Ruby中有没有这样的东西:
hash = {:foo => 'bar',:bar => lambda {条件?返回'value1':返回'value2'}}
实际代码不起作用(显然),我知道我可以在哈希赋值之前执行逻辑,但是在这样的赋值内部工作会很好。这样的事情有可能吗?
答案 0 :(得分:2)
你不需要lambda,只需这样就可以了:
hash = {
:foo => 'bar',
:bar => condition ? 'value1' : 'value2'
}
答案 1 :(得分:0)
或者如果你想在哈希上使用函数结果,
hash= {
:foo=> 'foooooo',
:bar=> lambda {
if condition
value1
else
value2
end
}.call
}