У меня есть карта ha sh, которая действует как хранилище объектов - где ключ - это имя класса, а значение - это объект
store = {} of String => Type
store["Animal"]= Animal.new
store["Book"]= Book.new
store["Car"]= Car.new
Здесь класс мне неизвестен, что означает, что я не могу использовать союзный тип. Подскажите пожалуйста, как решить эту проблему?
Я пытаюсь создать оболочку вокруг карты sh для хранения объектов, которая будет сохранять объект и возвращать объект по ключу.
Обновление 1
Классы будут переданы в качестве параметра - как это
add_in_store(Animal)
add_in_store(Person)
Обновление 2
Кристаллическая ссылка воспроизведения того, что я пытаюсь do - https://play.crystal-lang.org/# / r / 8lwx
Решение проблемы не должно быть таким же, как то, что я делаю. Это может быть любой другой подход, например, использование pro c или macro et c.
.