先日調べていたHackety Hackの習作です。Flickrから画像を引っ張ってきます。ネコ(cat)です。

ってな感じで、FlickrのRSSフィードを読み込んでjpegのみ取り出して表示させます。
下は自然(nature)。

コードは以下。バージョンは0.51で動作確認済み。
#get flickr pictures kindOfPic = ask("What kind of Pictures. Do you want?") url = "http://api.flickr.com/services/feeds/photos_public.gne?format=rss2&tags=" Web.popup do Web.fetch(url + kindOfPic,:as => Web::Feed).items.each do |item| puts(Picture(item.description[/[^"]+.jpg/])) end end
実行すると、「What kind of Pictures. Do you want?」と聞いてくるので英語で適当な名詞を入れます。「熊(bear)」と入力すると毛むくじゃらのオッサンの写真が出て来てビックリです。確かに熊みたいですが、、、
たった数行でおもしろいことが出来ますね、ちなみに言語はRuby。
また、Hackety Hackに添付されているLesson 2B「MeFi」というMetafilterから内容が200文字以下の記事を取り出すサンプルですが、結構な間違いがあって動きません。正しくは、
# Read the Metafilter feed. feed = Web.fetch("http://xml.metafilter.com/rss.xml", :as => Web::Feed) feed.items.reject! do |item| item.description.length > 200 end puts(feed)
フィードの取り方からカッコの付け方まで複数箇所間違ってますが前のバージョンでの文法なのかな?