将一个哈希中的一组选定键与哈希数组中的键匹配?

时间:2014-01-08 15:34:01

标签: ruby hash

我希望将一个哈希中的一组选定键与哈希数组中的键匹配。

以下内容不起作用,因为哈希new_qold_qoq)无法接受四个键。它们都是字符串,所以我可以将它们连接在一起并查找匹配(但join不是哈希方法)。

有没有人有想法如何简明扼要,没有一堆&&?我也尝试制作一个数组,这似乎应该可行,但我找不到语法。

if old_q.select { |oq| oq["cn", "dt", "ti", "in"] == new_q["cn", "dt", "ti", "in"] }.length > 0


if old_q.select { |oq| [oq["cn"], oq["dt"], oq["ti"], oq["in"]] == [new_q["cn"], new_q["dt"], new_q["ti"], new_q["in"]] }.length > 0

1 个答案:

答案 0 :(得分:0)

也许values_at是你正在寻找的东西:

oq.values_at("cn", "dt", "ti", "in")