2011-10-30 45 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個已解析的記錄。