2015-08-13 3 views
-2

Вот выход something.to_yaml:Получить свойство объекта другого значения внутри же объект

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

Я хочу, чтобы получить идентификатор, который является партнером данного имени в something { }. Если имя "test", я хочу получить "1"; что-то вроде: do something[test], и получить 1. Каков самый чистый способ сделать это в рубине? Я могу думать только о заполнении моего кода циклами, и я не хотел, если это абсолютно необходимо.

+0

Почему вы делаете это в YAML? Лучше сделай это в Руби. – sawa

+0

@sawa я. Я просто выводю как yaml x) – Fane

+0

Почему? Почему бы вам не показать это нам как объект Ruby? – sawa

ответ

0

Похоже, что something (до выхода на YAML) представляет собой массив хешей. В этом случае

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

Было бы проще, если бы вы показали исходный объект вместо представления YAML.