Erlang Types Технические характеристики - PullRequest
3 голосов
/ 14 января 2011

Я недавно прочитал исходный код couch-db, я нашел определение этого типа, которое я не понимаю:

-type branch() :: {Key::term(), Value::term(), Tree::term()}.
-type path() :: {Start::pos_integer(), branch()}.
-type tree() :: [branch()].

Я прочитал Erlang doc , но что означает Старт , Ключ , Значение и Дерево ? Из того, что я понимаю, они являются переменными Эрланга! Я не нашел никакой информации об этом в Erlang doc .

1 Ответ

7 голосов
/ 14 января 2011

Start и т. Д. Являются просто описательными названиями соответствующих частей терминов, чтобы людям было легче читать определение типа.Они не имеют ничего общего с реальными именами переменных.

(Примечание: к сожалению, даже в OTP R14B edoc по-прежнему не читает -type и -spec для генерации HTML-документации - он используетстарые @type и @spec вместо.)

Обновление: Официальные документы по -type и -spec.Больше вещей для поиска - это слово успешного ввода и руководства для диализатор и typer .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...