Как получить доступ к значению этого вложенного хеш-ключа в Ruby? - PullRequest
0 голосов
/ 17 июня 2010

У меня есть следующий хэш:

{:charge_payable_response=>{:return=>"700", :ns2=>"http://ws.myws.com/"}}

Как я могу получить значение ключа :return, которое в этом примере равно 700?

Ответы [ 3 ]

3 голосов
/ 17 июня 2010

Если у вас есть:

h = {:charge_payable_response=>{:return=>"700", :ns2=>"http://ws.myws.com/"}}

Тогда используйте:

h[:charge_payable_response][:return]
# => "700"

Префикс двоеточия означает, что ключ в хэше является символом , специальный вид уникального идентификатора:

Объекты символов представляют имена и некоторые строки внутри интерпретатора Ruby.Они генерируются с использованием синтаксиса литералов: name и: "string" и с помощью различных методов to_sym.Один и тот же объект Symbol будет создан для данного имени или строки на время выполнения программы, независимо от контекста или значения этого имени.Таким образом, если Fred является константой в одном контексте, методом в другом и классом в третьем, Symbol: Fred будет одним и тем же объектом во всех трех контекстах.

2 голосов
/ 17 июня 2010

Если:

data = { :charge_payable_response=> { :return=>"700", :ns2=>"http://ws.myws.com/" } }

Затем, чтобы получить возвращаемое значение, используйте:

data[:charge_payable_response][:return]
0 голосов
/ 17 июня 2010

Я бы сказал, что это должно быть:

hash[charge_payable_response][return]

Но не является ли return зарезервированным словом в Ruby?Это может вызвать проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...