0

我正在使用 Instagram API 来获取用户的照片提要。输出看起来像这样:

 [#<Hashie::Mash attribution=nil caption=nil comments=#<Hashie::Mash count=0 data=[]> created_time="1330231732" filter="Sutro" id="1403234234201396589_3002382" images=#<Hashie::Mash low_resolution=#<Hashie::Mash height=306 url="http://distilleryimage5.s3.amazonaws.com/8fd08dfsdfsdf111e180d51231380fcd7e_6.jpg" width=306>

我可以愉快地循环并显示所有图像或使用此特定图像:

  Instagram.user_recent_media(@client.user.id).each do |test|
    %img{:src=>"#{test.images.low_resolution.url}"}

怎么可能得到一个随机结果并限制只显示一张图像?我试过使用 limit(x) 但这会引发错误。我只想随机显示一张图像,而不是整个流。

4

1 回答 1

1
media = Instagram.user_recent_media(@client.user.id)
puts media.class

给出:

Array

知道它是一个数组,然后您可以使用以下sample方法轻松获取随机元素:

random = media.sample
puts "#{random.images.low_resolution.url}"

请注意,该sample方法choice在 Ruby 1.8.7 中命名。

于 2012-07-31T14:54:53.080 回答