通过同一对象内的另一个值获取对象的属性

时间:2015-08-13 22:28:17

标签: ruby

以下是something.to_yaml的输出:

name: test
id: 1
--
name: bobo
id: 2
--
(...)

我希望在something { }中获取作为给定名称的合作伙伴的ID。如果名称为"test",我想获得"1";类似于:something[test],并检索1。在红宝石中这样做最干净的方法是什么?我只能想到用循环填充我的代码,除非绝对必要,否则我不想这样做。

1 个答案:

答案 0 :(得分:0)

看起来something(在输出到YAML之前)是一个哈希数组。在这种情况下

something.select{|a|a["name"]=="test"}.first["id"]

如果您显示原始对象而不是YAML表示会更容易。