Я создаю инструмент, который получит непредсказуемую структуру данных, и я хочу создать класс case для выполнения структуры полученных данных. Я пытаюсь выяснить, возможно ли создать класс case во время выполнения? Эта структура будет известна только во время выполнения. Это что-то похожее на то, что делает макрос, но во время выполнения. Я нашел этот проект в Интернете mars Это очень близко к тому, что я хочу делать, но я не мог найти, если это было удачным.Scala Metaprogramming at Runtime
Другой способ сделать это - сгенерировать код, скомпилировать и поместить результат в путь к классам, как IScala делает, чтобы использовать код в итеративном режиме. Но я не думаю, что это будет масштабироваться.
Кто-нибудь уже сделал что-то вроде создания кода времени выполнения?
Этот вопрос был также размещен в списке scala-user рассылки
Мне нужно создать класс case, потому что мне нужен экземпляр этих данных, который будет использоваться в библиотеке. – dirceusemighini
Вы хотите создать и сохранить его? или просто генерировать, использовать и выбросить? если последний, как вы собираетесь использовать ваши сгенерированные классы из своего статического кода? или библиотека использует отражение и не может работать, например. списки и карты? –
Он будет использоваться и выброшен, мы его не будем хранить. На данный момент они, вероятно, используют отражение и не могут работать в списке. Этот класс используется для создания схемы, которая будет использоваться для запросов и вычислений. – dirceusemighini