Вывести содержимое таблицы ETS Erlang

Я новичок в мире Erlang, поэтому я пытаюсь экспериментировать с ним.

У меня есть таблица ETS, которая называется номерами.

ets:new(numbers,[ordered_set,named_table])

Он имеет формат [{Имя, Номер},{Имя, Номер}] и т. Д.

Мне интересно, есть ли способ вывести содержимое всей таблицы ETS?

1 ответ

Решение

Tl; др

ты можешь использовать

ets:match_object(Tab, {'$0', '$1'}).

куда Tab ваше имя таблицы, т.е. numbers,

Глубоко:

Вторым аргументом является шаблон соответствия, оставляя "свободные переменные" '$0' а также '$1',

Допустим, вы вставили:

> ets:insert(Tab, [{age, 45}, {length, 10}, {height, 45}]). 

Вы могли бы вытащить все {_, 45} кортежи с:

> ets:match_object(Tab, {'$0', 45}). 
[{age, 45}, {height, 45}]

Сделав все (в данном случае 2) переменными параметров кортежей свободными, вы сопоставите все в таблице.

Я настоятельно рекомендую прочитать Learn You Some Erlang для получения дополнительной информации!

Другие вопросы по тегам