0

我正在制作一个随机的猫图片饼干,并认为 Ruby 是最好的。这段代码,

require 'chunky_png'
require 'open-uri'

d=rand(2000)+1

url="http://www.placekitten.com/"
open('image.png', 'wb') do |file|
  file << open(url,d).read
end

这可能是一个非常容易解决的问题,但我是 ruby​​ 新手....运行它时出现此错误

C:/Ruby200/lib/ruby/2.0.0/open-uri.rb:146:in open_uri': invalid access mode 200 (URI::HTTP resource is read only.) (ArgumentError) from C:/Ruby200/lib/ruby/2.0.0/open-uri.rb:688:inopen' 从 C:/Ruby200/lib/ruby/2.0.0/open-uri.rb:34:inopen' from Kittens.rb:8:in块中'来自 C:/Ruby200/lib/ruby/2.0.0/open-uri.rb:36:in open' from C:/Ruby200/lib/ruby/2.0.0/open-uri.rb:36:inopen' 来自 Kittens.rb:7:in `'

4

1 回答 1

1

如果您想从http://www.placekitten.com/获取图像,您应该在 URL 中附加宽度(如果忽略高度,则默认设置为宽度)。但是,在您的代码中,您已将随机宽度放在 的第二个参数的位置,该参数open旨在作为打开模式(rwa等)。这就是为什么 Ruby 会抱怨“无效的访问模式 XXX”,其中 XXX 是d您在执行脚本时获得的随机代码。

require 'chunky_png'
require 'open-uri'

d=rand(2000)+1

url="http://www.placekitten.com/"
open('image.png', 'wb') do |file|
  file << open(url + d.to_s).read
end

顺便说一句,它是 Web UI 设计师的好网站 :-)

于 2013-06-20T05:49:25.047 回答