Я хочу проанализировать стандартный текст и извлечь объект из структурированного контейнера данных.Я путаюсь каждый раз и, наконец, использую глобальные переменные, ARGF, каждая и split.Как я могу сделать это лучше?Как мне легче писать и читать легче?Или какой драгоценный камень мне помогает?
Ниже приведен один случай моего уродливого кода:
# encoding: utf-8
$DATA = {}
$COUNT = 0
ARGF.each do |line|
col = line.split(nil).map(&:to_i)
if col.count == 1
next
elsif col.count == 2
$DATA[$COUNT][:cut_param] << { :cut_order => col[0], :pick_count => col[1] }
elsif col.count == 3
$COUNT += 1
$DATA[$COUNT] = {
:card_amount => col[0],
:cut_count => col[1],
:needle_order => col[2],
:cut_param => []
}
end
end