Я хотел бы указать тип, который просто набор, т.е .:Можете ли вы указать тип для набора() в typpec?
-type itemset() :: set(integer()).
Возможно ли это в Erlang?
Просто интересно.
Я хотел бы указать тип, который просто набор, т.е .:Можете ли вы указать тип для набора() в typpec?
-type itemset() :: set(integer()).
Возможно ли это в Erlang?
Просто интересно.
Набор не примитивный тип в Erlang, поэтому для него нет примитивной спецификации типа. Однако, если у вас есть модуль, который определяет и экспортирует такой тип, вы можете ссылаться на него из другого модуля.
Например, если набор вы имеете в виду это один определенный в sets
модуле stdlib
, то вы можете использовать его как это:
-type itemset() :: sets:set(integer()).
Обратите внимание на ссылку на sets
модуля.
Вы также можете создать собственное определение set()
с использованием -type
и -export_type
(если вам нужен тип вне модуля). Обратитесь к разделу 7.3 здесь: http://erlang.org/doc/reference_manual/typespec.html С этим сделайте только замену sets
с модулем, где ваше собственное определение set()
есть.