なかだです。

At Thu, 13 Nov 2003 17:19:45 +0900,
Take_tk wrote:
> 試しに、
> "file://server/share_name/dir/neme.ext"
> 形式のために
>   @@schemes['FILE'] = ::File
> としてみたが、見事に失敗しました。(言われたことと違うことをやっている)

こんなところでしょうか。

require 'open-uri'

class File::Scheme
  def self.new(scheme, userinfo, host, port, 
               registry, path, opaque, query, 
               fragment)
    @path = path
  end
  def open(*rest, &block)
    IO.open(@path, *rest, &block)
  end
end

module URI
  @@schemes["FILE"] = File::Scheme
end

path =  "file://" + File.expand_path(__FILE__)
p path

open(URI.parse(path)) {|f|
  f.each_line {|line| p line}
}

> ##"http://www.ruby-lang.org/"
> ##uninitialized constant OpenURI::O_RDONLY (NameError)
> ##  C:/Program Files/Apollo/lib/ruby/1.8/open-uri.rb:103:in `open_uri'
> ##  C:/Program Files/Apollo/lib/ruby/1.8/open-uri.rb:316:in `open'

これはIO::RDONLYの間違いでしょう。

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦