我在1850个文件中重复了此输入:
[
{
"id"=>66939,
"login"=>"XXX",
"url"=>"https://website.com/XX/users/XXX"
},
...
{}
]
我想以这样一种方式列出列表:通过查找登录名,我可以使用以下语法来检索ID:
users_list[XXX]
这是我想要的输出:
{"XXX"=>"66570", "XXX"=>"66570", "XXX"=>"66570", "XXX"=>"66570", ... }
我的代码是:
i2 = 1
while i2 != users_list_raw.parsed.count
temp_user = users_list_raw.parsed[i2]
temp_user_login = temp_user['login']
temp_user_id = temp_user['id']
user = {
temp_user_login => temp_user_id
}
users_list << user
i2 += 1
end
我的输出是:
[{"XXX":66570},{"XXX":66569},{"XXX":66568},{"XXX":66567},{"XXX":66566}, ... {}]
但这不是我想要的。
我的代码有什么问题?
hash[key] = value
在哈希中添加条目。所以我想你的情况users_list[temp_user_login] = temp_user_id
但是我不确定为什么要这么做。我认为您可以通过使用以下语句登录来查找用户的ID:
login = XXX
user = users_list.select {|user| user["login"] == login}.first
id = user["id"]
也许将其放在get_id(login)
以登录名作为参数的函数中?
另外,如果您打算像这样处理大量数据,则可能要研究数据库。ORM(对象关系映射器)在Ruby中可用,例如Data Mapper和Active Record(与Rails捆绑在一起),它们允许您“建模”数据并从数据库中存储的数据创建Ruby对象,而无需手动编写SQL查询。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句