作者: 藤岡和夫
日時: 2009/4/02(21:33)
On Sun, 29 Mar 2009 13:44:25 +0900
藤岡和夫 <kazuf@...> wrote:

> > 現状 Winodws で 1.9.1 を使うとなると arton さんのパッケージが便利なのでしょうね。
> 
>  そうですね。もともとActiveScriptRubyユーザーなのでそれがありがたいです。
> 久し振りに本格的に触ろうとしているので、元のポジションに戻った感じですね。

 ということで、古いスクリプトを引っ張り出して、1.9.1対応にしたいなと思いましたが・・・

-----^
# coding: Shift_JIS
require 'net/http'
host = 'homepage1.nifty.com'
directory = '/kazuf'
h = Net::HTTP.new(host, 80)
while htmlfile = DATA.gets
    htmlfile = htmlfile.chomp
    resp = h.get(directory + "/" + htmlfile)
    resp.body.each do |i|
        if /<A NAME="[^"]+">([^<]+)<\/A>/ =~ i
            puts $1
        end
    end
end
__END__
renewal_2001_03.html
renewal_2001_04.html
renewal_2001_05.html
renewal.html
-----$

 次のようなエラーになります。

C:\Scripts\Ruby>c:\ruby-1.9.1\bin\ruby geturl.rb
geturl.rb:9:in `<main>': undefined method `each' for #<String:0xbc39dc> (NoMetho
dError)

 どう書き直したらいいでしょう。1.8.7では動きますね。

藤岡 和夫
kazuf@...
日曜プログラマのひとりごと http://homepage1.nifty.com/kazuf/renewal.html