В дополнение к стандартным типам в Verse есть некоторые дополнительные конструкции, которые можно использовать аналогично типам, но при этом технически они таковыми не являются. Одной из таких конструкций является void
.
Когда она используется как результат функции, это указывает на то, что функция может возвращать любое значение, однако при вызове она не даст значимого результата.
Например:
Foo() : void = {}
Это означает, что структура Foo выполнена успешно, но не возвращает значение.
Пример:
FirstInt(X:int, :void) : int = X
Технически тип void
можно представить в виде функции, определяемой как
void(:any) : true
При использовании в качестве типа она применяется к объекту с соответствующим типом [идентификатора] (verse-glossary#identifier).
В позиции типа может использоваться только функция void
. Такие функции называются функторами. Функции, используемые таким образом, называются функторами.