Атрибут — некоторое свойство модуля.
Атрибут модуля имеет такой синтаксис: -AtomTag(...). Атрибуты бывают двух видов: предопределённые и пользовательские (произвольные).
Предопределённые атрибуты должны быть размещены в начале файла (перед всеми функциями). Их всего несколько:
-module(modname). это первый атрибут в файле. modname должно быть атомом и соответствовать названию файла. Например, у модуля my_mod файл должен называться my_mod.erl.-import(Mod,[Name1/Arity1, Name2/Arity2, ...]). нужен для импорта из некоторого постороннего модуля некоторых его функций.-export([Name1/Arity1, Name2/Arity2, ...]). экспортирует из данного модуля функции, чтобы они были доступны снаружи.-compile(Options). определяет опции для компилятора.-vsn(Version). задаёт версию модуля. Может быть любым литеральным термом. Тут нет каких-то особенных требований.Можно задать любой произвольный атрибут, например -animal("Зебра")..
Для любого скомпилированного модуля автоматически становится доступной функция module_info/0. Например, если наш модуль называется my_mod, после компиляции станет доступна функция my_mod:module_info/0. Вызвав её, можно узнать основную информацию о модуле, включая экспортированные функции и все атрибуты (включая пользовательские).
Copyright © 2025 Алексей Карманов