В моем текущем проекте мне нужно определить множество объектов case, подклассифицирующих один запечатанный признак. Имена этих объектов имеют шаблон, например, Case1, Case2, Case3, ..., CaseN. Мне было интересно, есть ли способ в scala для определения всех этих объектных объектов программным способом, например, с помощью цикла, вместо того, чтобы писать N строк определений.Можно программно определить объекты Case Scala?
Если это осуществимо, было бы здорово это сделать во время компиляции, так что известно, что объекты случая, определенные таким образом, проверяют тип. Это звучит невозможно на большинстве языков (у вас могут быть либо динамически определенные типы, как в python, либо иметь статическую безопасность типа, как в C/C++, но не для обоих), но, возможно, в Scala это возможно для мощного отражения во времени компиляции?
Но почему вы не создать класс, а затем создавать объекты во время выполнения? –
Поскольку вы не можете выполнить сопоставление шаблонов на экземплярах класса, особенно с исчерпывающим сопоставлением шаблонов. – uraj
Как насчет соответствия шаблону некоторым свойством класса? Создайте объекты с шаблоном по свойству, а затем сопоставьте их с этим свойством –