プログラミングとRubyの新機能。私はiStock APIを使って作業しており、ファイルに関する情報を要求するためにfileIDを送信する必要があります。私はiStockの上の情報を要求するために取得する必要があることを持っている配列から数値を取り出すRuby
例ファイル: IRBでの作業
["iStock_000001053628Small.jpg", "iStock_000002270952Big_Web.mov", "ist2_7034929-blurred-commuter.jpg", iStock_000000042199Medium.jpg]
、私はiStockののAPIに送信コード:
require 'xmlrpc'
parameters = {:apiKey=>"#", :fileID=>"1053628"}
server = XMLRPC::Client.new2("http://api.istockphoto.com/webservices/xmlrpc")
server.call("istockphoto.image.getInfo", parameters)
チャレンジ: ファイルID番号を配列から抽出する必要があります。これは、すべてのゼロをファイル番号の先頭から取り除かなければならないことを意味します。しかし、ファイル番号は長さが異なり、前面のゼロ数は画像ごとに異なります。
istock.each do |x|
result = ' '
x.scan(/\d+/) do |y|
if y.to_i > 4
result << y
end
puts result
end
end
000001053628
000002270952
7034929
000000042199
私は0のセットのためのルールを設定した場合、実際のファイルIDはまた、それにこれらを持っている時があるかもしれませんので、この問題にアプローチするかどうかはわかりません。
ここではgsubではなく、subで十分でした。 'd.scan(/ [1-9] \ d {3、} /)。first'、または単に' d.scan(/ \ d {4、} /)。 .to_i'を使って生の数字を取得します。 –
乾杯!これも動作します! – iamgato