Как мне вернуть тип переменной в minizinc?

#constraint-programming #minizinc

Вопрос:

Я бы хотел сделать что-то подобное:

 enum COLORS = {"green", "red", "blue"};
output [show(type(COLORS)];
 

И я бы ожидал, что это приведет к результату enum . Кажется, я не могу узнать из документов, как это сделать.

Ответ №1:

В настоящее время MiniZinc не включает никаких операций отражения, которые позволят вам получить имя типа.

Ваш пример на самом деле может быть не очень хорошим, потому что enum в данном случае ключевое слово семантически создает новый тип COLORS . Так что моя интуиция относительно того , что type вернет функция, была бы COLORS иной enum .

Если вы считаете, что это может быть полезной функцией (и, возможно, у вас есть более подробный пример, где это используется), вы можете отправить проблему в службу отслеживания проблем MiniZinc: https://github.com/MiniZinc/libminizinc/issues