In der Standard "Cache"-Klasse des Ace wird sehr elegant eine Hashmap verwendet zum Cachen von Bilddateien. Du kannst genauso vorgehen:
Code:
module MapNames
  
  def self.get_map_name(map_id)
    @cache ||= {}
    if @cache[map_id] == nil
      @cache[map_id] = load_map_name(map_id)
    end
    return @cache[map_id]
  end
  
  def self.load_map_name(map_id)
    map = load_data(sprintf("Data/Map%03d.rvdata2", map_id))
    return map.display_name
  end
  
end
Der Code ist nicht getestet sondern nur schnell dahingeschrieben.
Ich habe mit dem Ace noch nie gearbeitet, daher bin ich mir nicht ganz sicher ob es so funktionieren wird. Aber es sollte ausreichen um dich auf den richtigen Weg zu leiten.
Benutze die Hilfedatei des Makers für weitere Informationen über einen Hash.