【发布时间】:2013-05-16 06:36:14
【问题描述】:
我有一个小而烦人的问题:我的 API 调用经常返回一个包含单个元素的数组,它是一个哈希,如下所示:
foo = [{"key1" => 1, "key2" => 10}]
我必须从哈希中提取一个值,如下所示:foo[0]["key2"]。有没有更优化/正确的方法来做到这一点?
【问题讨论】:
-
var = var[0]和var["value"]?还是我错过了什么? -
您也可以使用
return.first['key2']-- 根据查询是什么(数据库查询?),您可能还想使用results.each{|r| do_something_with( r['key2] )}浏览所有结果 -
你的问题是什么?
-
除了像 Tilo 建议的那样使用
first之外,我看不到任何其他方法可以做到这一点。如果你只对第一个元素感兴趣,为什么不改变你的 API,让它只返回一个哈希值而不是一个数组内的哈希值? -
Mischa:它是 Facebook API。老神,Tilo & Dogbert:你是对的。我发现这对 Ruby 来说不够“优雅”。我认为 Tilo 的更好。
标签: ruby-on-rails ruby