第24回Ruby/Rails勉強会@関西 初級者レッスン課題こたえ
先週の土曜日に行われたRuby/Rails勉強会@関西で出てきた課題をこたえます。
最後の数問は、「どれを参考にしたら・・・」状態だったのでやめました(^^;
というわけで、途中までのこたえ。
# 英文解析 list = ARGF.readlines # 文字数カウント puts list.map{|l| l.chomp.strip }.join('').split(//).length # 単語数カウント puts list.inject(0){|r, l| r = r + l.chomp.strip.split(/[\s\t]+/).length } # 行数 puts list.length # 文字列出現頻度 list.map{|l| l.chomp.strip }.join('').split(//).inject(Hash.new(0)){|r,c| r[c] += 1; next r }.sort.each{|k,v| puts sprintf("[#{k}] : %5d", v)} # 単語出現頻度 list.map{|l| l.chomp.strip.split(/[\s\t]+/) }.flatten.inject(Hash.new(0)){|r,c| r[c] += 1; next r }.sort.each{|k,v| puts sprintf("[#{k}] : %5d", v)} # Apacheアクセスログ解析 list = ARGF.readlines # index.phpへのアクセス回数 puts list.select{|l| /\"GET \/index\.php/.match(l) }.length # 最初のMacユーザのアクセス時 puts list.find{|l| /Macintosh;/.match(l) }.split(/\s/)[3].sub(/^\[/, '')
某さん、あとは頼む(笑)