我从mashable.com拉取一个哈希值,我需要计算作者名称的实例(作者是关键字,值是作者姓名)。 mashable's api计算一个值在哈希中重复的次数
{
new: [
{
other_keys: 'other_values'...
author: 'Author's Name'
}
]
我想遍历散列,拉出作者的名字,再算上它是从混搭API的整个列表重复倍。
这是我的;它将哈希变成一个数组,迭代它,将计数添加到每个作者名称作为关键字,然后将重复数作为值添加。
这会很好,但我无法从mashable中将它恢复到原始散列,以添加所有我想显示的其他散列项。
all_authors = []
all_stories.each do |story|
authors = story['author']
all_authors << authors
end
counts = Hash.new(0)
all_authors.each do |name|
counts[name] += 1
end
counts.each do |key, val|
puts "#{key}: " "#{val}"
end
那请问什么是应该,但我试图把它放回原来的哈希来自Mashable:
all_stories.each do |com|
plorf = com['comments_count'].to_i
if plorf < 1
all_stories.each do |story|
puts "Title:\n"
puts story['title']
puts "URL:\n"
puts story['short_url']
puts "Total Shares:\n"
puts story['shares']['total']
end
end
end
当我到重复删除代码后面,它所做的一切是迭代初始的,每次输入后,我都会得到所有作者的列表以及他们编写的故事的数量,而不是列出每个与每个故事其他信息相关的作者以及他们编写的故事的数量。
任何帮助,非常感谢。
我需要输入值,我比较每个关键,我想比较吗? – 2014-10-27 05:35:43
@DavidJohnson这是否回答了您的问题? – 2014-10-28 09:57:04
我在下面回答 – 2014-10-30 17:52:50