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}"}

ランダムな結果を取得し、表示される画像を 1 つだけに制限するにはどうすればよいですか? limit(x) を使用してみましたが、エラーがスローされます。ストリーム全体ではなく、1 つの画像をランダムに表示したいだけです。

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はRuby1.8.7であることに注意してください。

于 2012-07-31T14:54:53.080 に答える