【发布时间】:2011-08-10 16:22:15
【问题描述】:
有没有一种很好的(一行)方法可以在 ruby 中编写一个哈希值,并且只有在满足条件的情况下才会有一些条目?我想到了
{:a => 'a', :b => ('b' if condition)}
但是,如果条件不满足,则留下:b == nil。我意识到这可以在两行左右轻松完成,但在一行中会更好(例如,将哈希传递给函数时)。
我在这里错过了(还)另一个 ruby 的惊人功能吗? ;)
【问题讨论】:
-
不满足条件时
hash[:b]要什么?在普通哈希中,如果没有匹配的键,你无论如何都会得到nil。 -
如果您遍历哈希,那么即使
condition为假,您也会看到设置了:b。
标签: ruby