Вывести содержимое таблицы 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 для получения дополнительной информации!