Я искал и не смог найти правильный способ сделать то, что я пытаюсь. Я читаю файл построчно и хочу создать новый объект из регулярного выражения в каждой строке. Я не использую синтаксический анализатор XML, потому что данные плохо сформированы и перечислены ниже - это все, что мне нужно получить из каждой строки.
Я не могу получить сканирование, чтобы вернуть результат блока. Он просто возвращает исходную строку. Я временно справился с этим, создав переменную temp
, но я уверен, что есть лучший способ.
enum = File.foreach(filename)
enum.map do |line|
temp = nil
line.scan(/<cab id="(\w+)" updates="(\d+)"/) { |a,b| temp = Cab.new(a,b) }
temp
end
Спасибо за любую помощь.