module Game
def Game.parse(filename)
fd = open(filename, 'r')
h, k = {}, ""
fd.each do |l|
case l.chomp!
when /^[0-9]+->$/
k = l.delete("->")
h[k] ||= []
when /^([0-9]+;)+$/
l.split(";").each { |i| h[k] << i }
end
end
return h
end
def Game.render(filename)
parse(filename).each do |key,value|
value.each {|item| puts "#{key}->#{item};" }
end
end
end
Game::render("foobar.graph")
je proteste, j'étais en train de boire une bière devant un film!
PS: je sais pas comment on affiche du code proprement, frappez pas s'il vous plait
PPS: je garantis pas que ça soit 100% fool proof ou que je vais pas me faire incendier par des rubyistes plus aguéris que moi
[^] # Re: Perdu !
Posté par Rémi Laurent . En réponse au journal Créer un livre dont vous êtes le héros avec des outils libres + question sur les regex. Évalué à 4.
module Game
def Game.parse(filename)
fd = open(filename, 'r')
h, k = {}, ""
fd.each do |l|
case l.chomp!
when /^[0-9]+->$/
k = l.delete("->")
h[k] ||= []
when /^([0-9]+;)+$/
l.split(";").each { |i| h[k] << i }
end
end
return h
end
def Game.render(filename)
parse(filename).each do |key,value|
value.each {|item| puts "#{key}->#{item};" }
end
end
end
Game::render("foobar.graph")
je proteste, j'étais en train de boire une bière devant un film!
PS: je sais pas comment on affiche du code proprement, frappez pas s'il vous plait
PPS: je garantis pas que ça soit 100% fool proof ou que je vais pas me faire incendier par des rubyistes plus aguéris que moi