2011-10-30 35 views
1

我是Ruby的新手,并有一个简短的问题。红宝石Twitter阵列问题

我想从用户的时间轴中获取所有帖子,所以我想我需要做一个user_timeline api调用twitter,然后手动过滤掉帖子。然后,在阅读的Ruby Twitter的文档,我发现这一点:

提出Twitter.user_timeline( “twitter_handle”)first.text

...这将返回后已解析出。 。

有没有一种方法可以获得不止是像这样自动解析出来的第一个帖子,还是仅仅是数组中第一个和最后一个对象的数组方法?

感谢

回答

1

您需要迭代每个对象。

Twitter.user_timeline("twitter_handle").each do |tweet| 
    puts tweet.text 
end 

第一个和最后一个方法只是数组中的便捷方法。

+0

如果您使用'tweet.text',谢谢! – startuprob

+0

@Rob固定;哎呀。 (虽然我喜欢Ben包含文档链接。) –

2

It looks like user_timeline只是返回一个数组,所以你应该能够使用Ruby的普通阵列方法吧。

Twitter.user_timeline("twitter_handle").each do |tweet| 
    puts tweet 
end 
+0

+1包括链接到文档。 –

+0

Code [golfing](http://stackoverflow.com/questions/6962883/how-to-unflatten-a-ruby-array/6963422#6963422):'Twitter.user_timeline(“twitter_handle”)。each(&method(:放入))' –

+0

,但这只适用于tweet文本?如何'比较传统的'Twitter.user_timeline(“twitter_handle”)每个{| t | puts t.text}' –

0

正如你可以从source,Twitter::Client#user_timeline所看到的那样,返回来自20个最近的Twitter::Status的数组,以便你可以使用多达20个已解析的记录。