如何从符号数组中过滤哈希?

时间:2013-10-17 21:27:00

标签: ruby activesupport

所以我有一个哈希,我想基于一个数组进行过滤:

h = {a: 'test1', b: 'test2', c: 'test3'}
a = [:a, :poo1, :poo2]

我的第一个想法是尝试:

h.slice(a)

但是当我希望它会返回{}时,它会返回{:a=>"test1"}。我似乎无法找到一种基于符号数组过滤哈希的简单方法。想法?

1 个答案:

答案 0 :(得分:1)

您可以使用splat运算符解决此问题:

h.slice(*a)

这将产生

> {:a=>"test1"}

有关星号的说明,请参阅this链接。