RUBYの宿題教えてください。at TECHRUBYの宿題教えてください。 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト50:デフォルトの名無しさん 05/01/29 04:16:34 >>43 作ってみたよー require 'open-uri' TARGET_URI = 'http://www.gnu.org/' class CharCounter NON_WORD_CHAR = 'OTHER' def initialize @buf = Hash.new{|h, k| h[k] = Hash.new(0)} @before_char = NON_WORD_CHAR end # def def push(s) s.gsub(/[\r\n]+/, '').split(//).each do |c| c.downcase! c = NON_WORD_CHAR if c !~ /[a-zA-Z]/ @buf[@before_char][c] += 1 @before_char = c end end # def def sorted_each @buf.keys.sort.each do |k| yield k, @buf[k] end end # def end # class # 続く 51:デフォルトの名無しさん 05/01/29 04:17:19 # 続き ALPHABETS = %w(a b c d e f g h i j k l m n o p q r s t u v w x y z) ALPHABETS.push(CharCounter::NON_WORD_CHAR) def print_html(counter, uri) puts "<html><head><title>#{uri}</title></head><body><table border=1><tr><td> </td>" ALPHABETS.each do |c| puts "<th>#{c}</th>" end puts '</tr>' counter.sorted_each do |prechar, freq| puts "<tr><th>#{prechar}</th>" ALPHABETS.each do |c| puts "<td>#{freq[c]}</td>" end puts "</tr>" end puts "</table></body></html>" end # def def main(uri) counter = CharCounter.new open(uri) do |f| f.each_line {|line| counter.push(line) } end print_html(counter, uri) end # def main(TARGET_URI) 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch