Модуль ets содержит функции для работы с таблицами ETS — хранилищем термов Эрланга. В отличие от DETS таблицы ETS хранятся в оперативной памяти компьютера, что обеспечивает максимально быстрый доступ к объектам.
all() Возвращает список всех ETS-таблиц на ноде.
delete(Table) Удаляет всю ETS-таблицу (завершение работы с ней).
delete(Table, Key) Удаляет все объекты в ETS-таблице с ключом Key.
delete_all_objects(Table) Удаляет все объекты из данной ETS-таблицы.
Это атомарная и изолированная операция.
delete_object(Table, Object) Удаляет из ETS-таблицы в точности заданный объект (не только по ключу).
В таблице типа duplicate_bag удаляет все заданные объекты, если их много.
file2tab(Filename) Возвращает из файла ETS-таблицу, сохранённую с помощью tab2file.
file2tab(Filename, Options) Возвращает из файла ETS-таблицу, сохранённую с помощью tab2file; возможная опция — {verify,boolean()}, служит для верификации.
first(Table) Возвращает первый ключ из ETS-таблицы.
first_lookup(Table) Возвращает первый ключ из ETS-таблицы и объект(ы), связанные с ним.
foldl(Function, Acc0, Table) Пробежаться по всей ETS-таблице слева направо с помощью фунтерма и аккумулятора; у фунтерма должна быть арность 2 — для элемента таблицы и аккумулятора.
foldr(Function, Acc0, Table) Пробежаться по всей ETS-таблице справа налево с помощью фунтерма и аккумулятора; у фунтерма должна быть арность 2 — для элемента таблицы и аккумулятора.
from_dets(Table, DetsTab) Заполняет уже созданную ETS-таблицу объектами из уже открытой DETS-таблицы.
fun2ms(LiteralFun) Псевдофункция, транслирующая литерально заданный фунтерм в спецификацию совпадения.
give_away(Table, Pid, GiftData) Делает указанный актор новым владельцем ETS-таблицы.
i() Показывает в терминале информацию обо всех существующих ETS-таблицах.
i(Table) Показывает в терминале содержимое ETS-таблицы.
info(Table) Возвращает общую информацию о ETS-таблице в виде списка кортежей.
info(Table, Item) Информация о ETS-таблице — только по данному тегу (например, size).
init_table(Table, InitFun) Заменяет существующие объекты в ETS-таблице созданными с помощью инициализирующего фунтерма.
insert(Table, ObjectOrObjects) Вставляет в ETS-таблицу один или несколько объектов.
insert_new(Table, ObjectOrObjects) Вставляет, как и insert/2, новые объекты в ETS-таблицу, но только если ещё нет объектов с таким ключом.
is_compiled_ms(Term) Проверяет, является ли терм валидной скомпилированной спецификацией соответствия.
last(Table) Возвращает последний ключ для ETS-таблицы (имеет смысл только для ordered_set).
last_lookup(Table) Возвращает объект(ы), ассоциированные с последним ключом в ETS-таблице.
lookup(Table, Key) Ищет в ETS-таблице и возвращает список всех объектов с данным ключом.
lookup_element(Table, Key, Pos) В ETS-таблице Table ищет объект (кортеж) по ключу Key и возвращает из этого кортежа элемент в позиции Pos; для bag и duplicate_bag возвращает список таких элементов.
lookup_element(Table, Key, Pos, Default) В ETS-таблице Table ищет объект (кортеж) по ключу Key и возвращает из этого кортежа элемент в позиции Pos; если объект не найден, возвращает дефолтный терм.
match(Continuation) Продолжает сопоставление, начатое для ETS-таблицы с помощью match/3.
match(Table, Pattern) Сопоставляет объекты в таблице с помощью паттерна.
match(Table, Pattern, Limit) Сопоставляет объекты в ETS-таблице с помощью паттерна; возвращает ограниченное количество найденных объектов.
match_delete(Table, Pattern) Удаляет все объекты из ETS-таблицы, удовлетворяющие данному шаблону.
match_object(Continuation) Продолжает сопоставление объектов ETS-таблицы, начатое с помощью match_object/3.
match_object(Table, Pattern) Сопоставляет объкты ETS-таблицы с данным шаблоном.
match_object(Table, Pattern, Limit) Сопоставляет объекты ETS-таблицы с шаблоном; возвращает ограниченное количество объектов.
match_spec_compile(MatchSpec) Трансформирует спецификацию сопоставления во внутреннее представление.
match_spec_run(List, CompiledMatchSpec) Запускает скомпилированное сопоставление (используется в основном Мнезией).
member(Table, Key) Проверяет, есть ли в ETS-таблице хотя бы один элемент с данным ключом.
new(Name, Options) Создаёт новую ETS-таблицу, возвращая её идентификатор.
next(Table, Key1) Возвращает следующий ключ, следующий за данным в ETS-таблице.
next_lookup(Table, Key1) Работает как next/2, только возвращает весь объект (объекты) из ETS-таблицы.
prev(Table, Key1) Возвращает ключ, предшествующий данному в ETS-таблице.
prev_lookup(Table, Key1) Работает как prev/2, только возвращает объект(ы) из ETS-таблицы целиком.
rename(Table, Name) Переименование ETS-таблицы.
repair_continuation(Continuation, MatchSpec) Используется в Мнезии для восстановления данных из внешнего формата, которы могут быть повреждены.
safe_fixtable(Table, Fix) Безопасное фиксирование ETS-таблицы.
select(Continuation) Продолжает сопоставление с ETS-таблицей, начатое select/3.
select(Table, MatchSpec) Сопоставляет объекты в ETS-таблице, используя спецификацию соответствия; более общий подход в сравнении с match/2.
select(Table, MatchSpec, Limit) Работает как ets:select/2, но возвращает ограниченный список.
select_count(Table, MatchSpec) Считает количество объектов в ETS-таблице, которые подходят под спецификацию соответствия.
select_delete(Table, MatchSpec) Сравнивает объекты ETS-таблицы со спецификацией соответствия и удаляет их, если результат положительный.
select_replace(Table, MatchSpec) Сравнивает объекты ETS-таблицы со спецификацией соответствия и в случае положительного результата заменяет их с результатом сопоставления.
select_reverse(Continuation) Продолжает сопоставление, начатое ets:select_reverse/3.
select_reverse(Table, MatchSpec) Работает как ets:select/2, но для типа ordered_set в обратном порядке.
select_reverse(Table, MatchSpec, Limit) Работает как ets:select/3, но для типа ordered_set в обратном порядке.
setopts(Table, Opts) Сменить опции ETS-таблицы; после создания можно изменить только heir.
slot(Table, I) Используется только в целях отладки: возвращает все объекты из данного слота.
tab2file(Table, Filename) Сохраняет ETS-таблицу в файл, откуда её потом можно будет восстановить с помощью file2tab.
tab2file(Table, Filename, Options) Сохраняет ETS-таблицу в файл, откуда её потом можно будет восстановить с помощью file2tab; для надёжности в качестве опций можно указать object_count и md5sum.
tab2list(Table) Возвращает список всех объектов в ETS-таблице.
tabfile_info(Filename) Возвращает информацию о файле, в который была сохранена ETS-таблица с помощью tab2file.
table(Table) Возвращает QLC-манипулятор для ETS-таблицы.
table(Table, Options) Возвращает QLC-манипулятор для ETS-таблицы, при помощи опций.
take(Table, Key) Возвращает и удаляет все объекты из ETS-таблицы с данным ключом.
test_ms(Tuple, MatchSpec) Тестирует спецификацию соответствия, используемую в select.
to_dets(Table, DetsTab) Заполняет уже открытую DETS-таблицу объектами уже созданной ETS-таблицы; DETS-таблица предварительно очищается.
update_element(Table, Key, ElementSpec, Default) Эффективный способ обновления объектов в ETS-таблице.
whereis(TableName) Возвращает идентификатор ETS-таблицы по её имени-атому.
Copyright © 2026 Алексей Карманов