Ruby 初心者スレッド Part 16
■ このスレッドは過去ログ倉庫に格納されています
0694デフォルトの名無しさん
2008/01/09(水) 17:54:54この問題を解いてもらいたく書き込みました.
(問)「ディレクトリ内に以下のサブディレクトリがあります.
"a" "b" "c" "d" "e"
各サブディレクトリにはHTMLファイルが入っています.
"a.html" "b.html" "c.html" "d.html" "e.html"
各サブディレクトリに含まれるHTMLファイルの<p class="textvalue">に該当する情報だけをテキストファイルに書き込みなさい.
なお,htmlファイル毎にテキストファイルを作成しなさい.」
この問題に対して,サブディレクトリ毎にテキストファイルを作成する点がわかりません!
つまり,サブディレクトリごとに同じ処理を行えば良いのですがそこがわからなくて困ってます.
今の段階では,すべてのファイルの<p class="textvalue">に該当する情報を1つのテキストファイルに書き込むことは出来ました..
以下が現段階でのプログラムです↓
require 'hpricot'
$KCODE = 'SJIS'
require 'jcode'
require 'open-uri'
require 'kconv'
files = Dir.glob("**/*.{html,htm}")
files.each { |file|
p file
html = open(file).read.tosjis
document = Hpricot.parse(html)
names = (document/'p.textvalue').map{|e|e.to_plain_text.strip}
puts names
foo = File.open("foo.txt",'a')
foo.puts names
foo.close
end
}
つまり,サブディレクトリが変わる度に処理を繰り返すやり方を教えてください!!お願いします!!
■ このスレッドは過去ログ倉庫に格納されています