В Руководстве по MiniZinc я вижу символ $, используемый в разных местах ( в основном в разделе Справочное руководство), но я не не удалось найти определение. Кто-нибудь любезно объяснит мне это. Спасибо.
Что означает $ в MiniZinc?
Ответы (1)
MiniZinc поддерживает три основных типа: {int, float, bool }
. В документации используется $T
в качестве заполнителя для любого типа, содержащегося в этом наборе, так что нет необходимости предоставлять три версии сигнатуры каждой функции, по одной для каждого базового типа.
Я предполагаю, что этот стиль синтаксиса вдохновлен shell
, где нотация $T
используется для разыменования имени T
и обычно дает значение, соответствующее такому имени/ячейке памяти.
Можно также представить $T
как шаблон typename/class
на языке C++
, который выполняет точно такую же цель.
// MiniZinc Docs
set of $U: array_union(array[$T] of set of $U)
// C++-like style
template <class T, class U>
set<U> array_union(map< T, set<U> >);
person
Patrick Trentin
schedule
21.10.2019