【发布时间】:2012-05-11 12:03:07
【问题描述】:
我想知道是否有人可以帮助我理解下面的 Ruby 代码?我对 Ruby 编程很陌生,无法理解每个函数的含义。
当我使用我的 twitter 用户名和密码作为参数运行它时,我会得到一个 twitter 提要样本流。我需要对这段代码做什么才能只显示主题标签?
我尝试每 30 秒收集一次主题标签,然后从出现的主题标签最少到最多进行排序。
不是在寻找解决方案,而是在寻找想法。谢谢!
require 'eventmachine'
require 'em-http'
require 'json'
usage = "#{$0} <user> <password>"
abort usage unless user = ARGV.shift
abort usage unless password = ARGV.shift
url = 'https://stream.twitter.com/1/statuses/sample.json'
def handle_tweet(tweet)
return unless tweet['text']
puts "#{tweet['user']['screen_name']}: #{tweet['text']}"
end
EventMachine.run do
http = EventMachine::HttpRequest.new(url).get :head => { 'Authorization' => [ user, password ] }
buffer = ""
http.stream do |chunk|
buffer += chunk
while line = buffer.slice!(/.+\r?\n/)
handle_tweet JSON.parse(line)
end
end
end
【问题讨论】:
-
这个问题是关于 Ruby 的,还是关于 Twitter API 的?您不知道如何从 API 中获取哈希标签,或者您不了解调用 API 的 Ruby 代码吗?
-
两者兼而有之。我需要先了解 Ruby 代码的工作原理,以便弄清楚如何修改代码以获取主题标签。