разбор файла ruby - PullRequest
       11

разбор файла ruby

1 голос
/ 24 мая 2010

У меня есть файл с такими данными:

01 JUL something
       something
       something              445
       something else
01 JUL whatever
       everwa3
       lklkj                  445
       something else
02 JUL ljkjlkj
       ljkljlkj 
       lkjkjlk                500
       lkjkj
02 JUL ljlkjklj
       lkjkjlkj
       lkjkj                  500
       lkjlkj

В конце я хотел бы узнать, сколько случаев 01 июля 445 есть и 02 июля 500 есть

в этом случае это будет ..

01 JUL 445 = 2

02 JUL 500 = 2

Я могу читать в строках и выводить данные ... как мне считать те же самые вещи?

1 Ответ

1 голос
/ 24 мая 2010
counts = {}
date = ""
file.readlines.each_with_index do |l, i|
  if i % 4 == 0 # first line
    date = l.split("\t").first
  elsif i % 4 == 3 # third line
    wierd_num = l.split("\t").last
    counts[date+" "+wierd_num] ||= 0
    counts[date+" "+wierd_num] += 1
  end
end

puts counts # => {"01 JUL 445" => 2, "02 JUL 500" => 2}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...